ROBERT SEDGEWICK | KEVIN WAYNE
F O U R T H E D I T I O N
Algorithms
http://algs4.cs.princeton.edu
Algorithms
ROBERT SEDGEWICK | KEVIN WAYNE
Algorithms R OBERT S EDGEWICK | K EVIN W AYNE 4.2 T OPOLOGICAL S - - PowerPoint PPT Presentation
Algorithms R OBERT S EDGEWICK | K EVIN W AYNE 4.2 T OPOLOGICAL S ORT Algorithms F O U R T H E D I T I O N R OBERT S EDGEWICK | K EVIN W AYNE http://algs4.cs.princeton.edu Topological sort demo Run depth-first search. Return vertices
ROBERT SEDGEWICK | KEVIN WAYNE
F O U R T H E D I T I O N
http://algs4.cs.princeton.edu
ROBERT SEDGEWICK | KEVIN WAYNE
1 4 5 2 6 3
2
a directed acyclic graph
7 11 0 5 0 2 0 1 3 6 3 5 3 4 5 2 6 4 6 0 3 2
1 4 5 2 6 3
tinyDAG7.txt
3
1 4 5 2 6 3 4 5 2 6 3 visit 0: check 1, check 2, and check 5 postorder T F F F F F F
marked[]
1 2 3 4 5 6
v
4
1 4 5 2 6 3 1 4 5 2 6 3 visit 1: check 4 postorder T T F F F F F
marked[]
1 2 3 4 5 6
v
5
1 4 5 2 6 3 1 4 5 2 6 3 visit 4 postorder T T F F T F F
marked[]
1 2 3 4 5 6
v
6
4 1 4 5 2 6 3 1 5 2 6 3 4 done 4 postorder 1 T T F F T F F
marked[]
1 2 3 4 5 6
v
7
4 1 1 4 5 2 6 3 5 2 6 3 1 done 1 postorder T T F F T F F
marked[]
1 2 3 4 5 6
v
8
4 1 1 4 5 2 6 3 5 2 6 3 postorder visit 0: check 1, check 2, and check 5 T T F F T F F
marked[]
1 2 3 4 5 6
v
9
4 1 1 4 5 2 6 3 5 2 6 3 visit 2 postorder T T T F T F F
marked[]
1 2 3 4 5 6
v
10
4 1 2 1 4 5 2 6 3 5 6 3 2 done 2 postorder T T T F T F F
marked[]
1 2 3 4 5 6
v
11
4 1 2 1 4 5 2 6 3 5 6 3 postorder visit 0: check 1, check 2, and check 5 T T T F T F F
marked[]
1 2 3 4 5 6
v
12
4 1 2 1 4 5 2 6 3 5 6 3 visit 5: check 2 postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
13
4 1 2 1 4 5 2 6 3 5 6 3 visit 5 postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
14
4 1 2 5 1 4 5 2 6 3 6 3 5 done 5 postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
15
4 1 2 5 0 1 4 5 2 6 3 6 3 0 done postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
16
4 1 2 5 0 1 4 5 2 6 3 6 3 check 1 postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
17
4 1 2 5 0 1 4 5 2 6 3 6 3 check 2 postorder T T T F T T F
marked[]
1 2 3 4 5 6
v
18
4 1 2 5 0 1 4 5 2 6 3 6 3 visit 3: check 2, check 4, check 5, and check 6 postorder T T T T T T F
marked[]
1 2 3 4 5 6
v
19
4 1 2 5 0 1 4 5 2 6 3 6 3 postorder visit 3: check 2, check 4, check 5, and check 6 T T T T T T F
marked[]
1 2 3 4 5 6
v
20
4 1 2 5 0 1 4 5 2 6 3 6 3 postorder visit 3: check 2, check 4, check 5, and check 6 T T T T T T F
marked[]
1 2 3 4 5 6
v
21
4 1 2 5 0 1 4 5 2 6 3 6 3 postorder visit 3: check 2, check 4, check 5, and check 6 T T T T T T F
marked[]
1 2 3 4 5 6
v
22
4 1 2 5 0 1 4 5 2 6 3 6 3 visit 6: check 0 and check 4 postorder T T T T T T T
marked[]
1 2 3 4 5 6
v
23
4 1 2 5 0 1 4 5 2 6 3 6 3 postorder visit 6: check 0 and check 4 T T T T T T T
marked[]
1 2 3 4 5 6
v
6
24
4 1 2 5 0 6 1 4 5 2 3 6 done postorder 3 6 T T T T T T T
marked[]
1 2 3 4 5 6
v
3
25
4 1 2 5 0 6 3 1 4 5 2 6 3 done postorder T T T T T T T
marked[]
1 2 3 4 5 6
v
26
4 1 2 5 0 6 3 1 4 5 2 6 3 check 4 postorder T T T T T T T
marked[]
1 2 3 4 5 6
v
27
4 1 2 5 0 6 3 1 4 5 2 6 3 check 5 postorder T T T T T T T
marked[]
1 2 3 4 5 6
v
28
4 1 2 5 0 6 3 1 4 5 2 6 3 check 6 postorder T T T T T T T
marked[]
1 2 3 4 5 6
v
29
4 1 2 5 0 6 3 postorder done 1 4 5 2 6 3 1 4 5 2 6 3 3 6 0 5 2 1 4 topological order