Tja, om du vill ha en hierarki, den bästa metoden jag känner till kallas "Modified Preorder Tree Traversal" som beskrivs i detalj i denna Sitepoint-artikel , börjar ungefär halvvägs ner.
Den största skillnaden mot vad Guss föreslog är att det är lite mer presterande och mycket lättare att bara hämta den del av trädet du letar efter.