Hierarchical Clustering algorithm

TODO : reduce complexity of the algorithm and implementation