Создание собственного двоичного дерева - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть объект SpanTree, который имеет переменные index1, index2, weight.Основываясь на соединении индексов, я хотел бы создать дерево, которое всегда начиналось бы с 0.

. В этом примере 0 связано с 2 и 5, поэтому они будутсначала добавьте к дереву, а затем продолжите с самого низкого, мне нужно будет найти, какие числа связаны с 2, которые в этом случае 6 и 7 и т. д.

SpanTree{index1=0, index2=2, weight=10}
SpanTree{index1=3, index2=4, weight=17}
SpanTree{index1=1, index2=4, weight=23}
SpanTree{index1=0, index2=5, weight=41}
SpanTree{index1=2, index2=6, weight=46}
SpanTree{index1=1, index2=5, weight=49}
SpanTree{index1=2, index2=7, weight=119}


               0
          2       5
       6    7       1
                      4

Я изучил BST, но реализация кажется немного другой, и если бы я добавил их к BST, я бы получил другой результат.

В качестве окончательного результата мне нужно preorder traverse через дерево или все узлы и получить результат, который в этом случае будет:

0 - 2 - 6 - 7 - 5 - 1 - 4

Что я должен использовать дляполучить желаемый результат?

Или как я могу создать Binary Tree, где я мог бы добавить к корню, что означает, что если бы я дал значения (0, 2), а затем (0,5), это добавило бы эти значенияне под друг друга, а отдельно, и тогда (2, 6) будет идти под node 2.

...