Graph 绘制深度优先搜索树

Graph 绘制深度优先搜索树,graph,Graph,我正试图解决一些纸上考试的问题,我有一个问题: 考虑图G=(N,A),其中N={A,b,c,d,e,f,G,h},A是 以下一组圆弧: {(0,5)、(5,4)、(4,5)、(4,1)、(1,2)、(2,3)、(3,4)、(4,3)、(0,6)、(6,7)}和 必须为G绘制深度优先搜索树T,根为0 这是图表: 我得到了下面的树: 答案是这样的: (对于上述两种情况,请忽略箭头) 我不明白为什么。谁能解释我做错了什么? 谢谢 这两棵树都是正确的,因为它们都可以通过深度优先搜索生成。据我所知,

我正试图解决一些纸上考试的问题,我有一个问题:

考虑图G=(N,A),其中N={A,b,c,d,e,f,G,h},A是 以下一组圆弧: {(0,5)、(5,4)、(4,5)、(4,1)、(1,2)、(2,3)、(3,4)、(4,3)、(0,6)、(6,7)}和 必须为G绘制深度优先搜索树T,根为0

这是图表:

我得到了下面的树:

答案是这样的:

(对于上述两种情况,请忽略箭头) 我不明白为什么。谁能解释我做错了什么?
谢谢

这两棵树都是正确的,因为它们都可以通过深度优先搜索生成。据我所知,这里的关键点是,对于给定的图,可能存在多个深度优先搜索树,这取决于选择当前节点的子节点的顺序。更准确地说,深度优先搜索,没有任何关于如何迭代子对象的明确规则,不是一个确定的过程。如注释所示,您找到的解决方案可以通过选择具有最小节点索引的子节点来获得,而建议的解决方案可以通过选择具有最大节点索引的子节点来生成。

这取决于您遍历顶点的顺序。您的解决方案首先遇到具有最小标签的节点,“右”-反之,似乎是错误的;在给定的假定“正确”解决方案中,存在从
4
2
的弧,但该弧不存在于输入中!请澄清这一点。虚线弧应该是什么意思?@Codor是的,我错了,我现在编辑了它。虚线弧没有任何意义(这是因为我用来绘制它们的程序)w.r.t@restest注释,那么是的,在选择当前节点的邻居时可能会遵循顺序。通常情况下,DFS会按照用于存储边信息的数据结构中邻居的存储顺序来拾取邻居。在当前发布的问题的情况下,在访问节点4之后,拾取的邻居应该是节点3。因此,将输出第二个图中所示的树。