我正在尝试深入了解深度搜索。不知道我是否正确

时间:2014-01-10 15:06:11

标签: graph traversal depth-first-search graph-traversal

http://i.stack.imgur.com/sEJKz.png

图像显示图表。这是正确的深度首次遍历吗?或者我的想法完全错了?我对dfs的理解给出了一个起点,你看看所有相邻的节点。然后,任意选择一个并递归地“访问”该节点。从v开始,我选择节点2转到下一个。 1到8的数字表示路径。

编辑:我似乎把数字2和3混合了!他们应该互换。

图片2:http://i.stack.imgur.com/KdWl6.png

1 个答案:

答案 0 :(得分:0)

您展示的是正确的DFS搜索顺序。正如你所说,DFS以递归方式访问,标记它已经访问过的节点。当它到达无法递归到未访问节点的点时,它将回溯直到存在这样的点或搜索终止,因为所有节点都被标记为已访问。

在你的情况下,它访问1,2和3.在3,它回溯到2,然后继续到4,5,6,7,8。然后它将回溯,但所有节点都被访问,所以搜索终止此访问订单。

在这种情况下标记为3的节点也可能是2或8.例如,DFS可能已经消失(使用图中的标签):1,2,4,5,6,7,8,回溯到2,3,终止。