1. A method of hierarchical clustering of multi-dimensional data which includes a plurality of data points, the method comprising the steps of: a) at a lowest level in a hierarchical clustering structure, partitioning the data points into at least two sets of non-overlapping local diffusion folders (LDFs); and b) at a higher level in the hierarchical clustering structure, processing all LDFs in the sets into at least one super-LDF, wherein each super-LDF represents a cluster.