根据我的推理,基本情况是访问了图表上的所有节点。
一般情况是标记所有相邻边。
最初的情况是选择单个节点作为起点。
这是对的吗?可能的答案如下:
一个。 “发现”了一个未经访问过的节点。 B.标记所有相邻边缘。 C.已访问图表上的所有边缘。 D.已访问图表上的所有节点。 E.选择单个节点作为起点。
提前感谢您的帮助!
答案 0 :(得分:0)
Depth-First-Search-Kickoff( Maze m )
Depth-First-Search( m.StartCell )
End procedure
Depth-First-Search( MazeCell c )
If c is the goal
Exit
Else
Mark c "Visit In Progress"
Foreach neighbor n of c
If n "Unvisited"
Depth-First-Search( n )
Mark c "Visited"
End procedure
http://www.cs.washington.edu/education/courses/cse326/03su/homework/hw3/dfs.html
您需要使用memoization来标记节点。
如果你没有使用递归,你可以使用队列实现dfs并检查队列是否为空。