Отступив на мгновение, я бы посоветовал вообще не использовать дерево. В прошлый раз, когда мне приходилось сталкиваться с подобной проблемой, я начал с дерева, но позже перешел на массив.
Причин, по которым было много, но причиной номер один была производительность, мои классы с числом детей до 100 или около того на самом деле работали бы лучше, манипулируя ими как массивом, чем через узлы дерева, в основном из-за аппаратной локализации и логики предварительной выборки процессора и конвейерная обработка процессора.
Таким образом, хотя алгоритмически структура массива требует большего N операций, чем дерева, выполнение этих десятков операций, вероятно, быстрее, чем погоня за указателями в памяти.