Initially place each data point in its own clusters, repeatedly merge most similar clusters.

We create a graph, an edge can mean similarity or dissimilarity (we only look at similarities). A high similarity value means that the corresponding two nodes are very similar and should be in the same cluster.