More Related Content More from SirRafiLectures (7) Operations Research-Lecture 06B (Graphs).ppt7. Topological Sort
Indegree Before Dequeue
Vertex 1 2 3 4 5
0 0 0 0 0
1 0 0 0 0
2 1 1 1 0
3 2 1 0 0
1 1 0 0 0
3 3 3 3 2
2 2 2 1 0
enqueue
V1
V2
V3
V4
V5
V6
V7
V1
V2
V5
V4
V3
, V7
Analysis Of Algorithms 7
8. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
Step by Step
Step 1
Analysis Of Algorithms 8
9. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
Step by Step
Step 2
Analysis Of Algorithms 9
10. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
Step by Step
Step 3
Analysis Of Algorithms 10
11. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
0
0
1
0
0
3
1
V4
V4
Step by Step
Step 4
Analysis Of Algorithms 11
12. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
0
0
1
0
0
3
1
V4
V4
0
0
0
0
0
2
0
V3, V7
V3
Step by Step
Step 5
Analysis Of Algorithms 12
13. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
0
0
1
0
0
3
1
V4
V4
0
0
0
0
0
2
0
V3, V7
V3
0
0
0
0
0
1
0
V7
Step by Step
Step 6
Analysis Of Algorithms 13
14. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
0
0
1
0
0
3
1
V4
V4
0
0
0
0
0
2
0
V3, V7
V3
0
0
0
0
0
1
0
V7
0
0
0
0
0
0
0
V6
V6
Step by Step
Step 7
Analysis Of Algorithms 14
15. Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7
V1 0
V2 1
V3 2
V4 3
V5 1
V6 3
V7 2
enqueue V1
dequeue V1
Topological Sort
0
0
1
2
1
3
2
V2
V2
0
0
1
1
0
3
2
V5
V5
0
0
1
0
0
3
1
V4
V4
0
0
0
0
0
2
0
V3, V7
V3
0
0
0
0
0
1
0
V7
0
0
0
0
0
0
0
V6
V6
Analysis Of Algorithms 15
18. Shortest Path Algorithm
Unweighted Graphs
Initial State
v Known dv pv
v1 0 0
v2 0 0
v3 0 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v3
Step by Step
Step 1
Analysis Of Algorithms 18
19. Shortest Path Algorithm
Unweighted Graphs
Initial State
v Known dv pv
v1 0 0
v2 0 0
v3 0 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v3
v3 dequeued
Known dv pv
0 1 v3
0 0
1 0 0
0 0
0 0
0 1 v3
0 0
v1, v6
Step by Step
Step 2
Analysis Of Algorithms 19
20. Shortest Path Algorithm
Unweighted Graphs
Initial State
v Known dv pv
v1 0 0
v2 0 0
v3 0 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v3
v3 dequeued
Known dv pv
0 1 v3
0 0
1 0 0
0 0
0 0
0 1 v3
0 0
v1, v6
v1 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
0 1 v3
0 0
v6, v2, v4
Step by Step
Step 3
Analysis Of Algorithms 20
21. Shortest Path Algorithm
Unweighted Graphs
Initial State
v Known dv pv
v1 0 0
v2 0 0
v3 0 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v3
v3 dequeued
Known dv pv
0 1 v3
0 0
1 0 0
0 0
0 0
0 1 v3
0 0
v1, v6
v1 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
0 1 v3
0 0
v6, v2, v4
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
Step by Step
Step 4
Analysis Of Algorithms 21
22. Shortest Path Algorithm
Unweighted Graphs
v2 dequeued
v Known dv pv
v1 1 1 v3
v2 1 2 v1
v3 1 0 0
v4 0 2 v1
v5 0 3 v2
v6 1 1 v3
v7 0 0
Q v4, v5
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
Step by Step
Step 5
Analysis Of Algorithms 22
23. Shortest Path Algorithm
Unweighted Graphs
v2 dequeued
v Known dv pv
v1 1 1 v3
v2 1 2 v1
v3 1 0 0
v4 0 2 v1
v5 0 3 v2
v6 1 1 v3
v7 0 0
Q v4, v5
v4 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
0 3 v2
1 1 v3
0 3 v4
v5, v7
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
Step by Step
Step 6
Analysis Of Algorithms 23
24. Shortest Path Algorithm
Unweighted Graphs
v2 dequeued
v Known dv pv
v1 1 1 v3
v2 1 2 v1
v3 1 0 0
v4 0 2 v1
v5 0 3 v2
v6 1 1 v3
v7 0 0
Q v4, v5
v4 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
0 3 v2
1 1 v3
0 3 v4
v5, v7
v5 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
1 3 v2
1 1 v3
0 3 v4
v7
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
Step by Step
Step 7
Analysis Of Algorithms 24
25. Shortest Path Algorithm
Unweighted Graphs
v2 dequeued
v Known dv pv
v1 1 1 v3
v2 1 2 v1
v3 1 0 0
v4 0 2 v1
v5 0 3 v2
v6 1 1 v3
v7 0 0
Q v4, v5
v4 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
0 3 v2
1 1 v3
0 3 v4
v5, v7
v5 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
1 3 v2
1 1 v3
0 3 v4
v7
v7 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
1 3 v2
1 1 v3
1 3 v4
empty
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
Step by Step
Step 8
Analysis Of Algorithms 25
26. Shortest Path Algorithm
Unweighted Graphs
v2 dequeued
v Known dv pv
v1 1 1 v3
v2 1 2 v1
v3 1 0 0
v4 0 2 v1
v5 0 3 v2
v6 1 1 v3
v7 0 0
Q v4, v5
v4 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
0 3 v2
1 1 v3
0 3 v4
v5, v7
v5 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
1 3 v2
1 1 v3
0 3 v4
v7
v7 dequeued
Known dv pv
1 1 v3
1 2 v1
1 0 0
1 2 v1
1 3 v2
1 1 v3
1 3 v4
empty
v6 dequeued
Known dv pv
1 1 v3
0 2 v1
1 0 0
0 2 v1
0 0
1 1 v3
0 0
v2, v4
n = |V|
T(n) = O(n2) for arrays
T(n) = O(|V| + |E|) for adjacency List
Analysis Of Algorithms 26
30. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v1
Step by Step
Step 1
Analysis Of Algorithms 30
31. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v1
v1 dequeued
Known dv pv
1 0 0
0 2 v1
0 0 0
0 1 v1
0 0
0 0
0 0
v2, v4
Step by Step
Step 2
Analysis Of Algorithms 31
32. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
v2 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 v4
0 1 v1
0 3 v4
0 9 v4
0 5 v4
v2, v5,v3, v6, v7,
Step by Step
Step 3
v1dequeued
Known dv pv
1 0 0
0 2 v1
0 0 0
0 1 v1
0 0
0 0
0 0
v4, v2
Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v1 Analysis Of Algorithms 32
33. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
v2 dequeued
Known dv pv
1 0 0
1 2 v1
0 0 0
0 1 v1
0 12 v2
0 0
0 0
v4, v5
Step by Step
Step 4
v1dequeued
Known dv pv
1 0 0
0 2 v1
0 0 0
0 1 v1
0 0
0 0
0 0
v2, v4
Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Q v1
v4 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 v4
1 1 v1
0 3 v4
0 9 v4
0 5 v4
v5, v3, v6,v7
Analysis Of Algorithms 33
34. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
Step by Step
Step 5
v5 dequeued
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 0 3 v4
v4 1 1 v1
v5 1 3 v4
v6 0 9 v4
v7 0 5 v4
Q v3, v6,v7
v4 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 0
1 1 v1
0 3 v4
0 9 v4
0 5 v4
v5, v3, v6,v7
Analysis Of Algorithms 34
35. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
Step by Step
Step 6
v3 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 v4
1 1 v1
1 3 v4
0 8 v3
0 5 v4
v6,v7
v5 dequeued
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 0 3 0
v4 1 1 v1
v5 1 3 v4
v6 0 9 v4
v7 0 5 v4
Q v3, v6,v7
v4 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 0
1 1 v1
0 3 v4
0 9 v4
0 5 v4
v5, v3, v6,v7
Analysis Of Algorithms 35
36. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
v6 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 v4
1 1 v1
1 3 v4
1 8 v3
0 5 v4
v7
Step by Step
Step 7
v3 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 0
1 1 v1
1 3 v4
0 8 v3
0 5 v4
v6,v7
v5 dequeued
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 0 3 0
v4 1 1 v1
v5 1 3 v4
v6 0 9 v4
v7 0 5 v4
Q v3, v6,v7
v4 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 0
1 1 v1
0 3 v4
0 9 v4
0 5 v4
v5, v3, v6,v7
Analysis Of Algorithms 36
37. Shortest Path Algorithm
Weighted Graphs
Dijkstra’s Algorithm
v6 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 0
1 1 v1
1 3 v4
1 8 v3
0 5 v4
v7
Step by Step
Step 8
v3 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 0
1 1 v1
1 3 v4
0 8 v3
0 5 v4
v6,v7
v5 dequeued
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 0 3 0
v4 1 1 v1
v5 1 3 v4
v6 0 9 v4
v7 0 5 v4
Q v3, v6,v7
v4 dequeued
Known dv pv
1 0 0
1 2 v1
0 3 0
1 1 v1
0 3 v4
0 9 v4
0 5 v4
v5, v3, v6,v7
v7 dequeued
Known dv pv
1 0 0
1 2 v1
1 3 v4
1 1 v1
1 3 v4
1 6 v7
1 5 v4
Empty
Analysis Of Algorithms 37
41. Prim’s
Algorithm
Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Step by Step
Step 1
Minimum Spanning Tree
Weighted and Undirected Graphs
Analysis Of Algorithms 41
42. Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Minimum Spanning Tree
Weighted and Undirected Graphs
v1 known
Known dv pv
1 0 0
0 2 v1
0 4 v1
0 1 v1
0 0
0 0
0 0
Prim’s
Algorithm
Step by Step
Step 2
Analysis Of Algorithms 42
43. Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Minimum Spanning Tree
Weighted and Undirected Graphs
v1 known
Known dv pv
1 0 0
0 2 v1
0 4 v1
0 1 v1
0 0
0 0
0 0
Prim’s
Algorithm
Step by Step
Step 3
v4 known
Known dv pv
1 0 0
0 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v2 ,v3 , v5 , v6 , v7
Analysis Of Algorithms 43
44. Initial State
v Known dv pv
v1 0 0 0
v2 0 0
v3 0 0
v4 0 0
v5 0 0
v6 0 0
v7 0 0
Minimum Spanning Tree
Weighted and Undirected Graphs
v1 known
Known dv pv
1 0 0
0 2 v1
0 4 v1
0 1 v1
0 0
0 0
0 0
Prim’s
Algorithm
Step by Step
Step 4
v4 known
Known dv pv
1 0 0
0 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v2 ,v3 , v5 , v6 , v7
v2known
Known dv pv
1 0 0
1 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v3 , v5 , v6 , v7
Analysis Of Algorithms 44
45. v3 known
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 1 2 v4
v4 1 1 v1
v5 0 7 v4
v6 0 5 v3
v7 0 4 v4
v5 , v6 , v7
Minimum Spanning Tree
Weighted and Undirected Graphs
Prim’s
Algorithm
Step by Step
Step 5
v2known
Known dv pv
1 0 0
1 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v3 , v5 , v6 , v7
Analysis Of Algorithms 45
46. v3 known
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 1 2 v4
v4 1 1 v1
v5 0 7 v4
v6 0 5 v3
v7 0 4 v4
v5 , v6 , v7
Minimum Spanning Tree
Weighted and Undirected Graphs
v7 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
0 6 v7
0 1 v7
1 4 v4
v5 , v6
Prim’s
Algorithm
Step by Step
Step 6
v2known
Known dv pv
1 0 0
1 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v3 , v5 , v6 , v7
Analysis Of Algorithms 46
47. v3 known
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 1 2 v4
v4 1 1 v1
v5 0 7 v4
v6 0 5 v3
v7 0 4 v4
v5 , v6 , v7
Minimum Spanning Tree
Weighted and Undirected Graphs
v7 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
0 6 v7
0 1 v7
1 4 v4
v5 , v6
Prim’s
Algorithm
Step by Step
Step 7
v6 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
0 6 v7
1 1 v7
1 4 v4
v5
v2known
Known dv pv
1 0 0
1 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v3 , v5 , v6 , v7
Analysis Of Algorithms 47
48. Minimum Spanning Tree
Weighted and Undirected Graphs
Prim’s
Algorithm
Step by Step
Step 8
v5 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
1 6 v7
1 1 v7
1 4 v4
v2known
Known dv pv
1 0 0
1 2 v1
0 2 v4
1 1 v1
0 7 v4
0 8 v4
0 4 v4
v3 , v5 , v6 , v7
v3 known
v Known dv pv
v1 1 0 0
v2 1 2 v1
v3 1 2 v4
v4 1 1 v1
v5 0 7 v4
v6 0 5 v3
v7 0 4 v4
v5 , v6 , v7
v7 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
0 6 v7
0 1 v7
1 4 v4
v5 , v6
v6 known
Known dv pv
1 0 0
1 2 v1
1 2 v4
1 1 v1
0 6 v7
1 1 v7
1 4 v4
v5
Total Cost = 16
Analysis Of Algorithms 48
52. Kruskal’s Algorithm
Step by Step
Step 1
Minimum Spanning Tree
Weighted Undirected Graphs
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7
Analysis Of Algorithms 52