1

根据我的推理,基本情况是图表上的所有节点都已被访问。

一般情况是所有相邻边都被标记。

初始情况是选择单个节点作为起点。

这个对吗?可能的答案如下:

A. “发现”了一个未访问的节点。B. 所有相邻边都被标记。C. 图上的所有边都已被访问。D. 图上的所有节点都被访问过。E. 选择单个节点作为起点。

在此先感谢您的帮助!

4

1 回答 1

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 并检查队列是否为空。

于 2013-05-01T12:26:42.143 回答