今際の国の呵呵君: [Algorithm]Implement DFS Iteratively
DFS是我们非常熟悉的算法,并且在图当中 也有很多应用。DFS的递归写法大家都很清楚,非常简单并且简洁。这里我们要讨论的是怎么用循环的方法实现图的DFS遍历。既然要用循环模拟递归,我们肯定是需要用到stack的。具体的思路是,对于给定的图,选定任意节点为起始节点:
- 起始节点入栈并标记
- 如果栈不为空:
- 访问栈顶节点v
- 选择一个v没有被标记过的邻接节点,标记并入栈
- 如果v没有未被标记的邻接节点,pop栈顶节点
- 重复以上三步直到栈为空
Read full article from 今際の国の呵呵君: [Algorithm]Implement DFS Iteratively
No comments:
Post a Comment