Week -7-8 Topic - Graph Algorithms CSE – 5311. Prepared by:- Sushruth Puttaswamy Lekhendro Lisham . Contents. Different Parts of Vertices used in Graph Algorithms Analysis of DFS Analysis of BFS Minimum Spanning Tree Kruskal’s Algorithm Shortest Path’s Dijkshitra’s Algorithm.
Different Parts of Vertices (used in Graph Algorithms)
Vertices of the Graph are kept in 3 parts as below:
QUEUE is used.
a b e
Graph with 5 Vertices
(U/V/F) 1-D Array
For a Graph G=(V, E) and n = |V| & m=|E|
Hence DFS is the champion algorithm for all connectivity problems
Proof by contradiction:
Let this be a MST. Also let us assume that the shortest edge is not part of this tree. Consider node g & h.
All edges on the path between these nodes are longer.(w1,w2,w3)
Let us take any edge (ex-w1) & delete it. We will then connect g & h directly.
But this edge has a lighter weight then already existing edges which is a contradiction.
Step 1: Initially all the edges of the graph are sorted based on their weights.
Step2: Select the edge with minimum weight from the sorted list in step 1.Selected edge shouldn’t form a cycle. Selected edge is added into the tree or forest.
Step 3: Repeat step 2 till the tree contains all nodes of the graph.
We have n vertices & m edges the following steps are followed.
O(mlogm)= O(mlogn )= O(mlog n).
If we use path compression then find & union become m times inverse Ackerman’s function.
But sorting always takes mlogm time.
DIJKSTRA (G, w, s)
The algorithm repeatedly selects the vertex u with the minimum shortest-path estimate, adds u to S, and relaxes all edges leaving u.