Определите, связаны ли два узла в иерархии - PullRequest
0 голосов
/ 30 октября 2018

У меня есть несколько узлов, расположенных в иерархической структуре следующим образом:

Node hierarchy

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

Например, узел A подключен к узлу K через узлы B и D. Узел A также подключен к узлу L через узлы B и D или узлы C и G.

Узлы E, F, H, J и M не связаны с узлом L.

Без трансформации иерархии от родительского узла к некоторому дочернему узлу, чтобы определить, связаны ли два узла, я считаю, что можно присвоить какое-либо числовое значение каждому узлу и с помощью формулы, которая принимает числовое значение двух узлы могут определить, что они связаны.

Возможно ли это?

1 Ответ

0 голосов
/ 30 октября 2018

Да, давая какое-то прогрессивное число или шаблон (Id), может помочь в этом. Посмотрите на изображение ниже - (извините за маленькое изображение. Нажмите на него, чтобы просмотреть его правильно)

enter image description here

Я назначил каждому узлу Id, отличный от 1, для root, а затем 1-1 .... 1-N для его дочернего элемента. Теперь, чтобы проверить, связаны ли узлы, все, что мы должны проверить, начинается ли один идентификатор узла с другого. если это так, то узлы связаны еще нет.

...