click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir...
Transcript of click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir...
![Page 1: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/1.jpg)
Algorithms, 4th Edition ∙ Robert Sedgewick and Kevin Wayne ∙ Copyright © 2002–2012 ∙ September 10, 2014 11:22:46 AM
4.2 Kosaraju-Sharir Algorithm
click to begin demo
![Page 2: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/2.jpg)
2
Phase 1. Compute reverse postorder in GR.
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
digraph G
1
4
9
2
5
3
0
1211
10
8 76 8 76
![Page 3: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/3.jpg)
3
‣ DFS in reverse graph
‣ DFS in original graph
![Page 4: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/4.jpg)
4
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
digraph G
1
4
9
2
5
3
0
1211
10
8 76 8 76
![Page 5: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/5.jpg)
5
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
reverse digraph GR
0
1
2
3
4
5
6
7
8
9
10
11
12
marked[v]v
–
–
–
–
–
–
–
–
–
–
–
–
–
![Page 6: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/6.jpg)
6
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
visit 0
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
F
F
F
F
F
F
F
marked[v]v
![Page 7: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/7.jpg)
7
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
F
F
F
F
F
F
marked[v]v
![Page 8: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/8.jpg)
8
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
visit 8
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
F
T
F
F
F
F
marked[v]v
![Page 9: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/9.jpg)
9
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
8 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
F
T
F
F
F
F
marked[v]v
8
6
![Page 10: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/10.jpg)
10
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
7
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
F
T
F
F
F
F
6
marked[v]v
8
![Page 11: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/11.jpg)
11
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
7
Kosaraju-Sharir
visit 7
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
T
T
F
F
F
F
6
marked[v]v
8
![Page 12: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/12.jpg)
12
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
7
Kosaraju-Sharir
7 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
F
F
F
F
T
T
T
F
F
F
F
6
marked[v]v
7 8
6
![Page 13: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/13.jpg)
13
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
0
1211
10
1
Kosaraju-Sharir
6 done
0
1
2
3
4
5
6
7
8
9
10
11
12
6
marked[v]v
6 7 8
T
F
F
F
F
F
T
T
T
F
F
F
F
0
![Page 14: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/14.jpg)
14
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 0
0
1
2
3
4
5
6
7
8
9
10
11
12
0marked[v]v
6 7 8
T
F
F
F
F
F
T
T
T
F
F
F
F
![Page 15: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/15.jpg)
15
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 2
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
F
F
T
T
T
F
F
F
F
0marked[v]v
6 7 8
![Page 16: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/16.jpg)
16
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 4
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
F
F
F
F
0
6 7 8
marked[v]v
![Page 17: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/17.jpg)
17
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 11
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
F
F
T
F
0marked[v]v
6 7 8
![Page 18: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/18.jpg)
18
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 9
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
F
T
F
0marked[v]v
6 7 8
![Page 19: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/19.jpg)
19
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 12
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
F
T
T
0marked[v]v
6 7 8
![Page 20: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/20.jpg)
20
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 12
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
F
T
T
0marked[v]v
6 7 8
![Page 21: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/21.jpg)
21
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
visit 10
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0marked[v]v
6 7 8
![Page 22: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/22.jpg)
22
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
1211
10
1
Kosaraju-Sharir
10 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0marked[v]v
10 6 7 8
12
![Page 23: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/23.jpg)
23
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
9
2
5
3
11
1
Kosaraju-Sharir
12 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
12
marked[v]v
12 10 6 7 8
9
![Page 24: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/24.jpg)
24
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
2
5
3
11
1
Kosaraju-Sharir
visit 9
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
9
marked[v]v
12 10 6 7 8
![Page 25: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/25.jpg)
25
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
2
5
3
11
1
Kosaraju-Sharir
visit 9
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
9
marked[v]v
12 10 6 7 8
![Page 26: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/26.jpg)
26
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
2
5
3
11
1
Kosaraju-Sharir
9 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
9
marked[v]v
9 12 10 6 7 8
11
![Page 27: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/27.jpg)
27
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1
4
2
5
3
1
Kosaraju-Sharir
11 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
11
marked[v]v
11 9 12 10 6 7 8
4
![Page 28: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/28.jpg)
28
Phase 1. Compute reverse postorder in GR.
11 9 12 10 6 7 8
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
visit 4
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
4
marked[v]v
![Page 29: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/29.jpg)
29
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
visit 4
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
F
T
T
T
T
T
T
T
0
4
marked[v]v
11 9 12 10 6 7 8
![Page 30: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/30.jpg)
30
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
visit 5
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
F
T
T
T
T
T
T
T
T
T
0
4
marked[v]v
11 9 12 10 6 7 8
![Page 31: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/31.jpg)
31
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
visit 3
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
T
T
T
T
T
T
T
T
T
T
0
4
marked[v]v
11 9 12 10 6 7 8
![Page 32: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/32.jpg)
32
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
visit 3
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
T
T
T
T
T
T
T
T
T
T
0
4
marked[v]v
11 9 12 10 6 7 8
![Page 33: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/33.jpg)
33
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 2
5
3
1
Kosaraju-Sharir
3 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
T
T
T
T
T
T
T
T
T
T
0
4
marked[v]v
3 11 9 12 10 6 7 8
5
![Page 34: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/34.jpg)
34
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 21
Kosaraju-Sharir
visit 5
0
1
2
3
4
5
6
7
8
9
10
11
12
T
F
T
T
T
T
T
T
T
T
T
T
T
0
4
5
marked[v]v
3 11 9 12 10 6 7 8
![Page 35: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/35.jpg)
35
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 21
Kosaraju-Sharir
5 done
0
1
2
3
4
5
6
7
8
9
10
11
12
0
4
5
marked[v]v
5 3 11 9 12 10 6 7 8
T
F
T
T
T
T
T
T
T
T
T
T
T
4
![Page 36: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/36.jpg)
36
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
1 21
Kosaraju-Sharir
4 done
0
1
2
3
4
5
6
7
8
9
10
11
12
0
4
marked[v]v
4 5 3 11 9 12 10 6 7 8
T
F
T
T
T
T
T
T
T
T
T
T
T
2
![Page 37: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/37.jpg)
37
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
11
Kosaraju-Sharir
visit 2
0
1
2
3
4
5
6
7
8
9
10
11
12
0
2
marked[v]v
4 5 3 11 9 12 10 6 7 8
T
F
T
T
T
T
T
T
T
T
T
T
T
![Page 38: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/38.jpg)
38
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
11
Kosaraju-Sharir
2 done
0
1
2
3
4
5
6
7
8
9
10
11
12
0
2
marked[v]v
2 4 5 3 11 9 12 10 6 7 8
T
F
T
T
T
T
T
T
T
T
T
T
T
0
![Page 39: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/39.jpg)
39
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
11
Kosaraju-Sharir
0 done
0
1
2
3
4
5
6
7
8
9
10
11
12
0marked[v]v
0 2 4 5 3 11 9 12 10 6 7 8
T
F
T
T
T
T
T
T
T
T
T
T
T
![Page 40: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/40.jpg)
40
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
11
Kosaraju-Sharir
visit 1
0
1
2
3
4
5
6
7
8
9
10
11
12
T
T
T
T
T
T
T
T
T
T
T
T
T
marked[v]v
0 2 4 5 3 11 9 12 10 6 7 8
![Page 41: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/41.jpg)
41
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
1 done
0
1
2
3
4
5
6
7
8
9
10
11
12
T
T
T
T
T
T
T
T
T
T
T
T
T
marked[v]v
1 0 2 4 5 3 11 9 12 10 6 7 8
1
![Page 42: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/42.jpg)
42
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
check 2 3 4 5 6 7 8 9 10 11 12
0
1
2
3
4
5
6
7
8
9
10
11
12
T
T
T
T
T
T
T
T
T
T
T
T
T
marked[v]v
1 0 2 4 5 3 11 9 12 10 6 7 8
![Page 43: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/43.jpg)
43
Phase 1. Compute reverse postorder in GR.
1
4
9
2
5
3
0
1211
10
1
8 76
Kosaraju-Sharir
1 0 2 4 5 3 11 9 12 10 6 7 8
reverse digraph GR
![Page 44: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/44.jpg)
44
‣ DFS in reverse graph
‣ DFS in original graph
![Page 45: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/45.jpg)
45
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
1
4
9
2
5
3
0
1211
10
8 76 8 76 0
1
2
3
4
5
6
7
8
9
10
11
12
scc[v]v
–
–
–
–
–
–
–
–
–
–
–
–
–
original digraph G
1 0 2 4 5 3 11 9 12 10 6 7 8
![Page 46: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/46.jpg)
46
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
1
4
9
2
5
3
0
1211
10
8 76 8 76
visit 1
0
1
2
3
4
5
6
7
8
9
10
11
12
–
0
–
–
–
–
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 47: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/47.jpg)
47
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
11
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
4
9
2
5
3
0
1211
10
8 76 8 76
1 done
0
1
2
3
4
5
6
7
8
9
10
11
12
–
0
–
–
–
–
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 48: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/48.jpg)
48
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
1
4
9
2
5
3
0
1211
10
8 76 8 76
strong component: 1
0
1
2
3
4
5
6
7
8
9
10
11
12
–
0
–
–
–
–
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 49: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/49.jpg)
49
1
0
–
–
–
–
–
–
–
–
–
–
–
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 0
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 50: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/50.jpg)
50
1
0
–
–
–
1
–
–
–
–
–
–
–
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 5
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 51: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/51.jpg)
51
1
0
–
–
1
1
–
–
–
–
–
–
–
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 4
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 52: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/52.jpg)
52
1
0
–
1
1
1
–
–
–
–
–
–
–
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 3
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 53: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/53.jpg)
53
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 3
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
–
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 54: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/54.jpg)
54
1
0
1
1
1
1
–
–
–
–
–
–
–
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 2
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 55: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/55.jpg)
55
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 2
4
9
2
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 56: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/56.jpg)
56
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
22
4
9
5
3
0
1211
10
Kosaraju-Sharir
2 done
4
9
5
3
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
3
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 57: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/57.jpg)
57
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
3
4
9
2
5
0
1211
10
Kosaraju-Sharir
3 done
4
9
5
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
3
4
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 58: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/58.jpg)
58
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 4
4
9
5
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 59: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/59.jpg)
59
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
9
2
5
3
0
1211
10
Kosaraju-Sharir
4 done
9
5
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
44
5
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 60: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/60.jpg)
60
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
5
4
9
2
3
0
1211
10
Kosaraju-Sharir
5 done
9
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
5
0
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 61: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/61.jpg)
61
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
4
9
2
5
3
0
1211
10
Kosaraju-Sharir
visit 0
9
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
8 76
1
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 62: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/62.jpg)
62
00
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
1211
10
8 76
Kosaraju-Sharir
0 done
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 63: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/63.jpg)
63
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
3
0
1211
10
8 76
Kosaraju-Sharir
strong component: 0 2 3 4 5
9
0
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
5
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 64: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/64.jpg)
64
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
check 2
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 65: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/65.jpg)
65
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
check 4
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 66: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/66.jpg)
66
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
check 5
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 67: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/67.jpg)
67
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
check 3
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
–
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 68: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/68.jpg)
68
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 11
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
2
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 69: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/69.jpg)
69
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 11
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
2
–
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 70: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/70.jpg)
70
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 12
9
1211
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
–
–
2
2
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 71: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/71.jpg)
71
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 9
9
12
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
–
2
2
11
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 72: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/72.jpg)
72
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 9
9
12
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
–
2
2
11
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 73: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/73.jpg)
73
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
8 76
Kosaraju-Sharir
visit 10
9
12
10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
11
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 74: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/74.jpg)
74
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
10
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
10 done
9
12
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
11
9 10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 75: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/75.jpg)
75
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
9
1
4
2
5
3
0
1211
8 76
Kosaraju-Sharir
9 done
12
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
11
109
12
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 76: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/76.jpg)
76
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
12
1
4
9
2
5
3
0
11
8 76
Kosaraju-Sharir
12 done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
11
10
11 12
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 77: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/77.jpg)
77
1111
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
12
8 76
Kosaraju-Sharir
11 done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 78: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/78.jpg)
78
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
strong component: 9 10 11 12
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
11
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 79: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/79.jpg)
79
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
check 9
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 80: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/80.jpg)
80
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
check 12
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 81: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/81.jpg)
81
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
check 10
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
–
–
–
2
2
2
2
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 82: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/82.jpg)
82
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
–
2
2
2
2
86 7
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 83: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/83.jpg)
83
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
–
2
2
2
2
8 76
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 84: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/84.jpg)
84
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
–
2
2
2
2
8 76
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 85: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/85.jpg)
85
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 8
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
3
2
2
2
2
8 76
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 86: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/86.jpg)
86
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
8
1
4
9
2
5
3
0
1211
7
Kosaraju-Sharir
8 done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
3
2
2
2
2
7
10
6 866
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 87: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/87.jpg)
87
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 6
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
3
2
2
2
2
76
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 88: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/88.jpg)
88
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
6 done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
3
2
2
2
2
7
10
6
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 89: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/89.jpg)
89
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 7
Kosaraju-Sharir
strong component: 6 8
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
–
3
2
2
2
2
7
10
6
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 90: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/90.jpg)
90
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 7
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
7
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 91: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/91.jpg)
91
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
visit 7
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
7
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 92: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/92.jpg)
92
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
7 done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
7
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 93: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/93.jpg)
93
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
8 76
Kosaraju-Sharir
strong component: 7
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
7
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 94: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/94.jpg)
94
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
86 7
Kosaraju-Sharir
check 8
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
10
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v
![Page 95: click to begin demo - SJTUxiaojuan/algo16/slides/6Demo... · 2016. 10. 13. · 4.2 Kosaraju-Sharir Algorithm click to begin demo. 2 Phase 1. Compute reverse postorder in GR. Phase](https://reader035.fdocuments.net/reader035/viewer/2022071013/5fcc047bc449db6e89657e75/html5/thumbnails/95.jpg)
95
Phase 2. Run DFS in G, visiting unmarked vertices in reverse postorder of GR.
1
4
9
2
5
3
0
1211
10
86 7
Kosaraju-Sharir
done
0
1
2
3
4
5
6
7
8
9
10
11
12
1
0
1
1
1
1
3
4
3
2
2
2
2
1 0 2 4 5 3 11 9 12 10 6 7 8
scc[v]v