算法导论 Chapter 22 Ex 22.3-6
2012-12-07 17:46
155 查看
DFS( G)
1. for each vertex u in V(G)
2. do color[u]=WHITE
3. pi[u]=NIL
4. time=0
5. for each vertex u in V(G)
6. do if color[u]=WHITE
7. then DFS-VISIT(u)
DFS-VISIT(u)
1. color[u]=GRAY
2. time++;
3. d[u]=time;
4. Stack S;
5. S.push(u);
6. while( !S.empty())
7. w=S.top();
8. bool bl=true; //用来判断w是否有白色的邻居
9. for each v in Adj[w]
10. if( color[v]==WHITE)
11. pi[v]=w;
12. color[v]=GRAY;
13. d[v]=++time;
14. S.push(v);
15. bl=false; //此时w有白色的neighborhood
16. if( bl) //w has no white neighborhood
17. then color[w]=BLACK; f[w]=++time;
18. S.pop(); //w出栈
19.
1. for each vertex u in V(G)
2. do color[u]=WHITE
3. pi[u]=NIL
4. time=0
5. for each vertex u in V(G)
6. do if color[u]=WHITE
7. then DFS-VISIT(u)
DFS-VISIT(u)
1. color[u]=GRAY
2. time++;
3. d[u]=time;
4. Stack S;
5. S.push(u);
6. while( !S.empty())
7. w=S.top();
8. bool bl=true; //用来判断w是否有白色的邻居
9. for each v in Adj[w]
10. if( color[v]==WHITE)
11. pi[v]=w;
12. color[v]=GRAY;
13. d[v]=++time;
14. S.push(v);
15. bl=false; //此时w有白色的neighborhood
16. if( bl) //w has no white neighborhood
17. then color[w]=BLACK; f[w]=++time;
18. S.pop(); //w出栈
19.
相关文章推荐
- Chapter 3 Phenomenon——22
- CHAPTER 10:EX 19
- 《算法导论》— Chapter 6 堆排序
- 《算法导论》— Chapter 11 散列表
- 《算法导论》习题解答 Chapter 22.1-7(关联矩阵的性质)
- Chapter 22: Using Item Renderers and Item Editors--Creating an item renderer and item editor
- chapter22:源码与Tarball之(1)-传统方法编译与make方法进行编译
- 算法导论(第三版)-复习-16,22-26[转]
- 算法导论 ch22 注记 有向图强连通分量的Tarjan算法
- 算法导论-22.3-6-用栈实现DFS
- [THINKING IN C++]CHAPTER 03:EX 25
- 算法导论程序22--指针和对象的实现(Python)
- 《算法导论》习题解答 Chapter 22.1-7(关联矩阵的性质)
- 算法导论 ch22 图的基本算法
- 《算法导论》 — Chapter 7 高速排序
- 《算法导论》学习摘要chapter-6——优先队列
- 《算法导论》学习笔记之Chapter8线性时间排序
- 算法导论(第三版)-复习- 第六部分图论思考题 22 基本的图算法
- 算法导论 Chapter 9.3 Selection in worst-case linear time
- [THINKING IN C++]CHAPTER 03:EX 26