Данная древовидная структура с глубиной N. Возможно ли вычислить некоторый индекс поиска для отображения листовых узлов.Вычислить индекс для листьев в древовидной структуре
Каждый узел знает свой родительский элемент и его дочерние элементы (слева и справа), если это не лист.
Моя идея была чем-то вроде того, что rootnode является индексом 0, а затем слева: 1, слева: слева: 2, слева: слева: слева: 3, слева: влево: вправо: 4, влево: вправо: влево: 5, слева: справа: справа: 6, справа: 7, справа: слева: 8
Так что, учитывая листовой узел, как я могу вычислить индекс наиболее умный.
Другие решения также принимаются, если его умнее давать индексы листьев от 0,1 ... L, где L - количество листьев.
Мое дерево создано в extern lib. Он делает это рекурсивно, вычисляя левый, а затем правый. Затем я хочу вычислить карту для быстрого поиска листового узла. Поэтому, когда передается листовой узел, мне нужно найти его индекс, спросив, что его родители. Я хочу сделать это, потому что он быстрее выполняет итерацию N шагов над родителями узлов, чем перебирает все узлы в дереве, чтобы найти узел. Причина в том, что мне нужно сохранить дополнительную информацию, связанную с листовыми узлами, и я не могу расширить классы. –
Спасибо, я нуждался в такой идее –