  Clustering algorithms aim to organize data into groups or clusters based on
the inherent patterns and similarities within the data. They play an important
role in today's life, such as in marketing and e-commerce, healthcare, data
organization and analysis, and social media. Numerous clustering algorithms
exist, with ongoing developments introducing new ones. Each algorithm possesses
its own set of strengths and weaknesses, and as of now, there is no universally
applicable algorithm for all tasks. In this work, we analyzed existing
clustering algorithms and classify mainstream algorithms across five different
dimensions: underlying principles and characteristics, data point assignment to
clusters, dataset capacity, predefined cluster numbers and application area.
This classification facilitates researchers in understanding clustering
algorithms from various perspectives and helps them identify algorithms
suitable for solving specific tasks. Finally, we discussed the current trends
and potential future directions in clustering algorithms. We also identified
and discussed open challenges and unresolved issues in the field.
