2014-11-20 151 views
0

我想了解DFS递归和DFS迭代之间的区别。在这个问题中,邻居按字母顺序迭代。DFS遍历迭代

使用DFS递归,我得到A,C,D,E,F。但是,我不明白DFS迭代遍历的过程。我的教授说使用DFS迭代法,应该获得A E D C F。有人能指引我朝着正确的方向吗?

这里是图像:enter image description here

回答

0

对于曲线图,可以有遍历使用DFS和从相同的源启动节点更然后1种方式。例如,将您的图形表示为相邻性列表。它可以是:

B: A 
A: C, D, E 
C: D, E, F 
F: D 

B: A 
A: E, D, C 
C: F, D, E 
F: D 

都是有效的表示。 但是,如果通过按顺序选择尾部来实现它们,它们会出现在邻居列表中,第一个将导致:A-> C-> D-> E-> F,而第二个将导致A-> E - > D-> C-> F。两者都是有效的遍历。