Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | mason-bauer |
View: | 242 times |
Download: | 1 times |
GRAPHS
Prof. Muhammad Saeed
Analysis of Algorithms
Analysis Of Algorithms 1
Analysis Of Algorithms 2
Analysis Of Algorithms 3
Analysis Of Algorithms 4
Analysis Of Algorithms 5
Topological Sort
Vertex 1 2 3 4 5 6 7V1 0 0 0 0 0 0 0
V2 1 0 0 0 0 0 0
V3 2 1 1 1 0 0 0
V4 3 2 1 0 0 0 0
V5 1 1 0 0 0 0 0
V6 3 3 3 3 2 1 0
V7 2 2 2 1 0 0 0
enqueue V1 V2 V5 V4 V3, V7 V6
dequeue V1 V2 V5 V4 V3 V7 V6
Indegree Before Dequeue
Analysis Of Algorithms 6
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological SortStep by Step
Step 1
Analysis Of Algorithms 7
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
Step by Step
Step 2
Analysis Of Algorithms 8
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
Step by Step
Step 3
Analysis Of Algorithms 9
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
0010031
V4
V4
Step by Step
Step 4
Analysis Of Algorithms 10
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
0010031
V4
V4
0000020
V3, V7
V3
Step by Step
Step 5
Analysis Of Algorithms 11
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
0010031
V4
V4
0000020
V3, V7
V3
0000010
V7
Step by Step
Step 6
Analysis Of Algorithms 12
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
0010031
V4
V4
0000020
V3, V7
V3
0000010
V7
0000000
V6
V6
Step by Step
Step 7
Analysis Of Algorithms 13
Indegree Before Dequeue
Vertex 1 2 3 4 5 6 7V1 0V2 1V3 2V4 3V5 1V6 3V7 2
enqueue V1
dequeue V1
Topological Sort
0012132
V2
V2
0011032
V5
V5
0010031
V4
V4
0000020
V3, V7
V3
0000010
V7
0000000
V6
V6
Analysis Of Algorithms 14
Analysis Of Algorithms 15
Complexity Analysis
Topological Sort
Shortest Path AlgorithmUnweighted Graphs
Analysis Of Algorithms 16
Shortest Path AlgorithmUnweighted 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 17
Shortest Path AlgorithmUnweighted 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 18
Shortest Path AlgorithmUnweighted 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 19
Shortest Path AlgorithmUnweighted 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 20
Shortest Path AlgorithmUnweighted 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 21
Shortest Path AlgorithmUnweighted 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 22
Shortest Path AlgorithmUnweighted 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 23
Shortest Path AlgorithmUnweighted 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 24
Shortest Path AlgorithmUnweighted 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 arraysT(n) = O(|V| + |E|) for adjacency List
Analysis Of Algorithms 25
Shortest Path AlgorithmUnweighted Graphs
Analysis Of Algorithms 26
Complexity Analysis
Analysis Of Algorithms 27
END OF (Shortest Path Unweighted Graphs)Algorithm
Shortest Path AlgorithmWeighted Graphs
Dijkstra’s Algorithm
Analysis Of Algorithms 28
Shortest Path AlgorithmWeighted 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 29
Shortest Path AlgorithmWeighted 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 30
Shortest Path AlgorithmWeighted 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 3v1dequeued
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 31
Shortest Path AlgorithmWeighted 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 4v1dequeued
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,v7Analysis Of Algorithms 32
Shortest Path AlgorithmWeighted Graphs
Dijkstra’s AlgorithmStep by Step
Step 5v5 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 33
Shortest Path AlgorithmWeighted Graphs
Dijkstra’s AlgorithmStep by Step
Step 6v3 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 34
Shortest Path AlgorithmWeighted 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 7v3 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 35
Shortest Path AlgorithmWeighted 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 8v3 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
EmptyAnalysis Of Algorithms 36
Shortest Path AlgorithmWeighted Graphs
Dijkstra’s Algorithm
Analysis Of Algorithms 37
Complexity Analysis
Analysis Of Algorithms 38
END OF Dijkstra’s Algorithm
Analysis Of Algorithms 39
Shortest Path Algorithm Negative Weighted Graphs
Bellman-Ford’s Algorithm
Analysis Of Algorithms 40
BELLMAN-FORD (G, w, s)
INITIALIZE-SINGLE-SOURCE (G, s)for each vertex i = 1 to V[G] - 1 do for each edge (u, v) in E[G] do RELAX (u, v, w)For each edge (u, v) in E[G] do if d[u] + w(u, v) < d[v] then return FALSEreturn TRUE
Analysis Of Algorithms 41
s
zy
6
7
8-3
72
9
-2xt
-4
5
………….Bellman-Ford’s Algorithm
Analysis Of Algorithms 42
s
zy
6
7
8-3
72
9
-2xt
-4
5
s
zy
6
7
8-3
72
9
-2xt
-4
5
………….Bellman-Ford’s Algorithm
Analysis Of Algorithms 43
s
zy
6
7
8-3
72
9
-2xt
-4
5
s
zy
6
7
8-3
72
9
-2xt
-4
5
………….Bellman-Ford’s Algorithm
Analysis Of Algorithms 44
s
zy
6
7
8-3
72
9
-2xt
-4
s
zy
6
7
8-3
72
9
-2xt
-4
5
………….Bellman-Ford’s Algorithm
Analysis Of Algorithms 45
Complexity Analysis
Bellman-Ford Algorithm
Analysis Of Algorithms 46
END OF Bellman-Ford Algorithm
A
C
B
ED
2
-1
4-3
2 3
5 3
-1
4
π: nild: 0
π: nil Ad: ∞ -1
π: nil Cd: ∞ 2
π: nil Ad: ∞ 4
π: nild: ∞
Minimum Spanning TreeWeighted and Undirected Graphs
Prim’s Algorithm
Analysis Of Algorithms 47
Prim’sAlgorithm
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
v1
Step by Step
Step 1
Minimum Spanning TreeWeighted and Undirected Graphs
Analysis Of Algorithms 48
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
v1
Minimum Spanning TreeWeighted 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
v2 , v3 ,v4
Prim’sAlgorithmStep by Step
Step 2
Analysis Of Algorithms 49
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
v1
Minimum Spanning TreeWeighted 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
v2 , v3 ,v4
Prim’sAlgorithmStep 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 50
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
v1
Minimum Spanning TreeWeighted 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
v2 , v3 ,v4
Prim’sAlgorithmStep 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 51
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 TreeWeighted and Undirected GraphsPrim’sAlgorithmStep 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 52
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 TreeWeighted 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’sAlgorithmStep 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 53
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 TreeWeighted 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’sAlgorithmStep 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 54
Minimum Spanning TreeWeighted and Undirected GraphsPrim’sAlgorithmStep 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 = 16Analysis Of Algorithms 55
Prim’s Algorithm
Analysis Of Algorithms 56
Complexity Analysis
Analysis Of Algorithms 57
END OF Prim’s Algorithm
Minimum Spanning TreeWeighted and Undirected Graphs
Kruskal’s Algorithm
Analysis Of Algorithms 58
Kruskal’s AlgorithmStep 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 59
Minimum Spanning TreeWeighted and Undirected Graphs
Kruskal’s Algorithm
Analysis Of Algorithms 60
Complexity Analysis
Analysis Of Algorithms 61
End of Kruskal’s Algorithm
EndEnd GRAPHS
Analysis Of Algorithms 62