数据结构第六章

 

 

深度优先遍历 (使用栈)

(1)首先访问顶点i,并将其访问标记置为访问过,即visited[i]=1;

(2)然后搜索与顶点i有边相连的下一个顶点j,若j未被访问过,则访问他,并将j的访问标记置为访问过,visited[j]=1,然后从j开始重复这一过程,

若j已访问,再看与i有边相连的其他节点。

(3)若与i有边相连的顶点都被访问过,则退回到前一个访问节点重复刚才的过程,直到图中所有顶点都被访问完为止。

 

 广度优先遍历 (使用队列)

(1)开始时要将其置空

(2)每访问一个顶点,将其入队

(3)在访问一个顶点的所有后继时,要将其出队

(4)若队列为空时,说明每一个访问过的顶点的所有后继均已被访问,因而本次遍历可以结束。若此时还有未访问的顶点,需另选进行遍历。

实践

刚开始时想到dfs,但是又纠结于怎么表示鳄鱼、圆岛的距离。然后没有考虑到一步上岸的问题。

 

posted @ 2020-06-14 21:41  黄颖芳  阅读(205)  评论(0)    收藏  举报