第一种方法转自别人的博客:
1.桟初始化
2.输出起始顶点;起始顶点改为“已访问”标志;将起始顶点进桟;
3.重复下列操作直到桟为空:
3.1取桟顶元素顶点;(注意不出桟)
3.2桟顶元素顶点存在未访问过的邻接节点w:
3.2.1输出顶点w
3.2.2将顶点w改为“已访问”标志
3.2.3将顶点w进桟
3.3否则,当前顶点出桟
第二种方法:
1.桟初始化
2.输出起始顶点;起始顶点改为“已访问”标志;将起始顶点进桟;
3.重复下列操作直到桟为空:
3.1取桟顶元素顶点,并且出栈
3.2重复操作,直到桟顶元素顶点不存在未访问过的邻接节点w:
3.2.1输出顶点w
3.2.2将顶点w改为“已访问”标志
3.2.3将顶点w进桟
在记录路径的时候,第一种方法可以用一个list来存储路径的位置,但是第二种方法在存储路径的时候,必须把路径存储在节点之中,可以在每个节点建立一个链表或list来表示经过的路径。
本文介绍了深度优先搜索(DFS)的两种实现方法:一种是在访问节点时不将其从栈中移除,另一种则是在访问节点的同时将其从栈中移除。详细步骤包括桟初始化、输出起始顶点并标记为已访问、将顶点进桟等,并对比了两种方法在记录路径上的不同。
4671

被折叠的 条评论
为什么被折叠?



