Coding a hierarchical clustering algorithm