Bem, se você quer uma hierarquia, o melhor método que eu conheço é chamado de "Modified Preorder Tree Traversal" que é descrito em detalhes neste artigo do Sitepoint , começa na metade do caminho.
A principal diferença do que Guss sugeriu é que é um pouco mais eficiente e muito mais fácil buscar apenas a parte da árvore que você está procurando.