Upload
guest1f4fb3
View
7.647
Download
9
Tags:
Embed Size (px)
Citation preview
1
KUVEMPU UNIVERSITY KUVEMPU UNIVERSITY Department of Computer ScienceDepartment of Computer Science
Jnana SahyadriJnana SahyadriShankarghattaShankarghatta
Seminar onSeminar on
““Kruskal’s Algorithm ”Kruskal’s Algorithm ”
Presented by, Presented by, Chaitra.M.S Chaitra.M.S 33rdrd sem , M.Sc, sem , M.Sc, Dept. Of Computer Science,Dept. Of Computer Science, Shankarghatta.Shankarghatta.
Under the guidance of,Under the guidance of, Suresh.M,Suresh.M,
Dept. Of Computer Science,Dept. Of Computer Science, Shankarghatta.Shankarghatta.
2
Contents
• Spanning trees• Finding a spanning tree• Minimum-cost spanning trees• Kruskal’s algorithm And example
Spanning Trees
4
Spanning trees
• Suppose you have a connected undirected graph– Connected: every node is reachable from every other node
– Undirected: edges do not have an associated direction
• ...then a spanning tree of the graph is a connected subgraph in which there are no cycles
A connected,undirected graph
Four of the spanning trees of the graph
5
Finding a spanning tree
• To find a spanning tree of a graph, pick an initial node and call it part of the spanning tree do a search from the initial node:
each time you find a node that is not in the spanning tree, add to the spanning tree both the new node and the edge you followed to get to it
An undirected graph
6
Minimizing costs
• Suppose you want to supply a set of houses (say, in a new subdivision) with:– electric power
– water
– sewage lines
– telephone lines
• To keep costs down, you could connect these houses with a spanning tree (of, for example, power lines)– However, the houses are not all equal distances apart
• To reduce costs even further, you could connect the houses with a minimum-cost spanning tree
7
Minimum-cost spanning trees
• Suppose you have a connected undirected graph with a weight (or cost) associated with each edge
• The cost of a spanning tree would be the sum of the costs of its edges
• A minimum-cost spanning tree is a spanning tree that has the lowest cost
A B
E D
F C
16
19
21 11
33 14
1810
6
5
A connected, undirected graph
A B
E D
F C
1611
18
6
5
A minimum-cost spanning tree
A B
E D
F C
16
19
21 11
33 14
1810
6
5
A connected, undirected graph
8
Kruskal algorithm(E,cost,n,t)//E is set of edges in G .G has n vertices.Cost[u,v] is //cost of edge(u,v).t is the set of edges in minimum-cost //spanning tree.the final cost is returned.
{ //construct a heap out of the edge costs using heapify For i=:1 to n do parent[i]:=-1;//each vertex is in a different set.i:=0;mincost:=0.0;
While((i<n-1) and (heap not empty)) do{ //delete a minimum cost edje(u,v) from the heap and reheapify using
Adjust; j:=Find(u); k:=Find(v);
9
If (j!=k) then { i:=i+1; t[i,1]:=u; t[i,2]:=v; mincost:=mincost+cost[u,v]; union(j,k); } } if(i!=n-1) then write(“no spanning tree”); else return mincost;
}
10
Example graph
11
12
13
14
15
16
17
18
19
Minimum cost spanning tree we obtained finally
20
Any queries???????????
21
Thank U………………