Kruskals Algorithm
Kruskals Algorithm
1
Contents
• Spanning trees
• Finding a spanning tree
• Minimum-cost spanning trees
• Kruskal’s algorithm And example
2
Spanning Trees
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
4
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
5
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
6
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
16 16
A B A B
21 11 6 11 6
19 5 5
F C F C
33 14
10
E 18 D E 18 D
A connected, undirected graph A minimum-cost spanning tree
7
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
8
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”);
}
9
Example graph
10
11
12
13
14
15
16
17
18
Minimum cost spanning tree we
obtained finally
19
Any queries???????????
20
Thank U………………
21