agglomerative or divisive hierarchical clustering