#include<stdio.h>
int cost[ 10 ] [ 10 ] , n;
void kruskal( )
{
int par[ n] ;
int a= 0 , b= 0 , u= 0 , v= 0 , min, mincost = 0 , ne = 0 ;
for ( int i= 0 ; i< n; i++ )
par[ i] =- 1 ;
printf ( "the minimum spanning tree edges are..." ) ; while ( ne < n- 1 )
{
//Find the least cost edge
min = 999 ;
for ( int i= 0 ; i< n; i++ )
for ( int j= 0 ; j< n; j++ )
if ( cost[ i] [ j] < min)
{
min= cost[ i] [ j] ;
a= u= i;
b= v= j;
}
//Check if edge select cause cyclicity?
while ( par[ u] !=- 1 )
u= par[ u] ;
while ( par[ v] !=- 1 )
v= par[ v] ;
if ( u!= v)
{
printf ( "From vertex %d to vertex %d and the cost = %d\n " , a
, b
, min
) ; mincost+= min;
par[ v] = u;
ne++;
}
//edge included in MST should not be considered for next iteration
cost[ a] [ b] = cost[ b] [ a] = 999 ;
}
printf ( "Cost of MST = %d" , mincost
) ; }
int main( )
{
printf ( "Enter the no. of vertices:" ) ; printf ( "Enter the cost matrix\n " ) ; for ( int i= 0 ; i< n; i++ )
for ( int j= 0 ; j< n; j++ )
kruskal( ) ;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IGNvc3RbMTBdWzEwXSxuOwp2b2lkIGtydXNrYWwoKQp7CmludCBwYXJbbl07CmludCBhPTAsYj0wLHU9MCx2PTAsbWluLCBtaW5jb3N0ID0gMCwgbmUgPSAwOwpmb3IoaW50IGk9MDtpPG47aSsrKQpwYXJbaV09LTE7CnByaW50ZigidGhlIG1pbmltdW0gc3Bhbm5pbmcgdHJlZSBlZGdlcyBhcmUuLi4iKTsKd2hpbGUobmUgPCBuLTEpCnsKLy9GaW5kIHRoZSBsZWFzdCBjb3N0IGVkZ2UKbWluID0gOTk5Owpmb3IoaW50IGk9MDtpPG47aSsrKQpmb3IoaW50IGo9MDtqPG47aisrKQppZihjb3N0W2ldW2pdIDwgbWluKQp7Cm1pbj1jb3N0W2ldW2pdOwphPXU9aTsKYj12PWo7Cn0KLy9DaGVjayBpZiBlZGdlIHNlbGVjdCBjYXVzZSBjeWNsaWNpdHk/CndoaWxlKHBhclt1XSE9LTEpCnU9cGFyW3VdOwp3aGlsZShwYXJbdl0hPS0xKQp2PXBhclt2XTsKaWYodSE9dikKewpwcmludGYoIkZyb20gdmVydGV4ICVkIHRvIHZlcnRleCAlZCBhbmQgdGhlIGNvc3QgPSAlZFxuIixhLGIsbWluKTsKbWluY29zdCs9bWluOwpwYXJbdl09dTsKbmUrKzsKfQovL2VkZ2UgaW5jbHVkZWQgaW4gTVNUIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBmb3IgbmV4dCBpdGVyYXRpb24KY29zdFthXVtiXT1jb3N0W2JdW2FdPTk5OTsKfQpwcmludGYoIkNvc3Qgb2YgTVNUID0gJWQiLCBtaW5jb3N0KTsKfQoKaW50IG1haW4oKQp7CnByaW50ZigiRW50ZXIgdGhlIG5vLiBvZiB2ZXJ0aWNlczoiKTsKc2NhbmYoIiVkIiwmbik7CnByaW50ZigiRW50ZXIgdGhlIGNvc3QgbWF0cml4XG4iKTsKZm9yKGludCBpPTA7aTxuO2krKykKZm9yKGludCBqPTA7ajxuO2orKykKc2NhbmYoIiVkIiwmY29zdFtpXVtqXSk7CmtydXNrYWwoKTsKfQ==