10. The method of claim 1 , in which a randomly chosen subset of a node's children are considered in selecting candidates for promoting and merging.
1. A method of modifying a hierarchy of nodes containing data elements, the hierarchy comprising a root node at the top of the hierarchy, a plurality of leaf nodes at the bottom of the hierarchy, and a plurality of internal nodes interconnecting the leaf nodes to the root, where each internal node is connected to a single parent node upwardly in the hierarchy and one or more child nodes downwardly in the hierarchy, the method comprising the steps of: (a) selecting an internal node as an active node; (b) analyzing the parent and any children of the active node with a computer algorithm to identify similarities in the data elements stored therein; (c) moving or merging one or more of the children nodes based upon the analysis of step (b), wherein a child of an active node is promoted to become a sibling of the active node if the child is similar to the parent of the active node, and two or more children of the active node are merged into a single child node of the active node if the children are similar to each other; (d) selecting a subsequent internal node as the active node, and repeating steps (a)-(c); whereby multiple nodes are moved or merged within the hierarchy to transform the hierarchy into a clustered hierarchy characterized in that the similarity among the data elements subsumed under any node of the hierarchy increases from the root of the hierarchy downwards.