Title: Topological Sort Example
1Topological Sort Example
This job consists of 10 tasks with the following
precedence rules Must start with 7, 5, 4 or
9. Task 1 must follow 7. Tasks 3 6 must follow
both 7 5. 8 must follow 6 4. 2 must follow
4. 10 must follow 2.
Make a directed graph and then a list of ordered
pairs that represent these relationships.
29
Tasks shown as a directed graph.
1
7
3
8
5
6
4
10
2
Tasks listed as ordered pairs 7,1 7,3
7,6 5,3 5,6 6,8 4,8
4,2 2,10
3Predecessor Counts
Successors
1
1
2
2
3
3
4
4
5
5
6
6
8
7
7
1
3
6
8
8
9
9
10
10
4Place all tasks that have zero predecessors in a
bag.
4
7
BAG
5
9
Step 1. Remove any task from the bag and place in
sorted list.
Sorted List 7,
Step 2. Update Predecessor and Successor arrays
as needed.
5Predecessor Counts
Successors
1
0
1
2
2
1
3
3
1
4
0
4
0
5
5
6
6
1
8
7
7
-1
8
8
2
9
9
0
10
10
1
6Step 3. Add to bag any tasks that now have zero
predecessors.
4
1
BAG
5
9
Step. 4. Repeat steps 1, 2, and 3 until all
predecessor counts are -1. (We are performing a
loop or repetition.)