У меня есть объект, который показывает мне связь между индексами и имеет переменные index1
, index2
.Основываясь на соединении индексов, я хотел бы создать дерево, которое всегда начиналось бы с 0
.
. В этом примере 0
связано с 2
и 5
, поэтому они будутсначала добавьте в дерево, а затем продолжите с самого низкого, мне нужно будет найти, какие числа связаны с 2
, которые в этом случае 6
и 7
и т. д.
{index1=0, index2=2}
{index1=3, index2=4}
{index1=1, index2=4}
{index1=0, index2=5}
{index1=2, index2=6}
{index1=1, index2=5}
{index1=2, index2=7}
0
2 5
6 7 1
4
Похоже, мне нужно преобразовать его в список смежности.
В качестве окончательного результата мне нужно preorder traverse
пройти через дерево или все узлы и получить результат, который в этом случае будетбыть:
0 - 2 - 6 - 7 - 5 - 1 - 4
Что я должен использовать, чтобы получить желаемый результат?
Или как я могу создать Adjacency List
, где я мог бы добавить в корень, что означает, что если бы я былчтобы дать значения (0, 2)
, а затем (0,5)
, это добавит эти значения не друг к другу, а по отдельности, и тогда (2, 6)
перейдет в node
2.