将树转换为有向图

问题描述 投票:0回答:1

如何通过按级别顺序遍历树,将由包含数据和子级列表的节点表示的树转换为由包含数据和邻接列表的节点表示的有向图。树可以有多个具有相同数据的节点,而图只能有具有唯一数据的节点。由于图中的程序堆栈中可能存在递归,因此会存在从节点到自身的链接。子列表将成为邻接列表,其元素需要更新以指向唯一节点,应删除重复节点。任何提示或算法将不胜感激。这是树可能是什么样子以及图表应该是什么样子的示例

(树也是由多个程序堆栈组成的,因此任何一个节点都不能拥有具有相同数据的子节点):TreeGraph

我尝试了许多不同的方法,所有这些方法最终都会删除节点和指向它们的指针。我好像迷路了。

tree graph-theory
1个回答
-1
投票

查看您的“树”图,有多个标有“C”的节点。如果这些都是“相同”的节点,那么你的图就不是树。

也许你应该重新标记这些 C1、C2、C3。这可以解释为三个节点恰好具有相同的数据。

在图表中,您可以合并这些节点。像这样:

© www.soinside.com 2019 - 2024. All rights reserved.