确定是否连接了层次结构中的两个节点

时间:2018-10-30 09:16:34

标签: algorithm graph-algorithm

我有一堆节点按如下层次结构排列:

Node hierarchy

我想确定一个节点是否连接到另一节点,即使两个节点之间的连接被层次结构中的不同级别分隔。

例如,节点A通过节点B和D连接到节点K。节点A也通过节点B和D或节点C和G连接到节点L。

节点E,F,H,J和M没有连接到节点L。

如果不将层次结构从父节点遍历到某个子节点以确定是否连接了两个节点,我相信可以为每个节点分配一个数值,并通过一个采用两个数值的公式节点可以确定它们已连接。

这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,通过提供某种渐进数字或模式(Id)可以帮助解决此问题。看看下面的图片-(对不起,小尺寸图片。单击它可以正确查看)

enter image description here

我已经为每个节点分配了一个编号为1的ID,然后给其子节点1-1 .... 1-N。现在要检查节点是否已连接,我们只需检查一个节点ID是否以另一个节点ID开头。如果是这样,则连接节点,否则不连接。