写出以深度优先的搜索法的DFS程序过程,不用递归方法,而是使用一个栈来实现

2025年03月18日 14:11
有1个网友回答
网友(1):

代码给出比较麻烦.给个思想吧.
需要一个数组记录每个节点是否被访问过.设为tag[]吧
需要一个栈保存避免递归, 设为stack[]
1.节点i入栈stack[]
2.置tag[i]为1表示i被访问过了.
3.while(栈非空)
{
if(stack顶的元素还有没有被访问的节点j)
访问节点j, tag[j]=1, 节点j入栈;
else
顶部节点出栈;
}