There are two main categories of clustering algorithms: hierarchical and parti-
tional. Partitional clustering algorithms divide data items into non-overlapping clus-
ters such that each data item is in exactly one cluster. Hierarchical clustering algo- rithms successively cluster items within found clusters, producing a set of nested
cluster organized as a hierarchical tree.