Algorithms R OBERT S EDGEWICK | K EVIN W AYNE 4.2 T OPOLOGICAL S - - PowerPoint PPT Presentation

algorithms
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

4.2 TOPOLOGICAL SORT

slide-2
SLIDE 2

・Run depth-first search. ・Return vertices in reverse postorder.

1 4 5 2 6 3

Topological sort demo

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

slide-3
SLIDE 3

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-4
SLIDE 4

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-5
SLIDE 5

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-6
SLIDE 6

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-7
SLIDE 7

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-8
SLIDE 8

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-9
SLIDE 9

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-10
SLIDE 10

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-11
SLIDE 11

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-12
SLIDE 12

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-13
SLIDE 13

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-14
SLIDE 14

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-15
SLIDE 15

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-16
SLIDE 16

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-17
SLIDE 17

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-18
SLIDE 18

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-19
SLIDE 19

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-20
SLIDE 20

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-21
SLIDE 21

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-22
SLIDE 22

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-23
SLIDE 23

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-24
SLIDE 24

・Run depth-first search. ・Return vertices in reverse postorder.

6

Topological sort demo

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

slide-25
SLIDE 25

3

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-26
SLIDE 26

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-27
SLIDE 27

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-28
SLIDE 28

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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

slide-29
SLIDE 29

・Run depth-first search. ・Return vertices in reverse postorder.

Topological sort demo

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