![]() |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
#4
|
|||
|
|||
|
Re: C++ code for Kruskal Algorithm
Quote:
|
|
#5
|
|||
|
|||
|
Re: C++ code for Kruskal Algorithm
|
|
#6
|
||||
|
||||
|
Re: C++ code for Kruskal Algorithm
|
|
#7
|
|||
|
|||
|
Re: C++ code for Kruskal Algorithm
Thank you very much for helping us ... and I hope to continue this site in the production and the continuation of Members to work together to build a new minds in this world .. and far from politics
|
|
#9
|
|||
|
|||
|
Re: C++ code for Kruskal Algorithm
Thank you very much for helping us ... and I hope to continue this site in the production and the continuation of Members to work together to build a new minds in this world .. and far from politics
|
|
#10
|
||||
|
||||
|
Re: C++ code for Kruskal Algorithm
Code:
/* Write C++ programs to implement the Kruskal’s algorithm to generate a minimum cost spanning tree */
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
int cost[10][10],i,j,k,n,m,c,visit,visited[10],l,v,count,count1,vst,p;
main()
{
int dup1,dup2;
cout<<"enter no of vertices";
cin >> n;
cout <<"enter no of edges";
cin >>m;
cout <<"EDGE Cost";
for(k=1;k<=m;k++)
{
cin >>i >>j >>c;
cost[i][j]=c;
cost[j][i]=c;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(cost[i][j]==0)
cost[i][j]=31999;
visit=1;
while(visit<n)
{
v=31999;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(cost[i][j]!=31999 && cost[i][j]<v && cost[i][j]!=-1 )
{
int count =0;
for(p=1;p<=n;p++)
{
if(visited[p]==i || visited[p]==j)
count++;
}
if(count >= 2)
{
for(p=1;p<=n;p++)
if(cost[i][p]!=31999 && p!=j)
dup1=p;
for(p=1;p<=n;p++)
if(cost[j][p]!=31999 && p!=i)
dup2=p;
if(cost[dup1][dup2]==-1)
continue;
}
l=i;
k=j;
v=cost[i][j];
}
cout <<"edge from " <<l <<"-->"<<k;
cost[l][k]=-1;
cost[k][l]=-1;
visit++;
int count=0;
count1=0;
for(i=1;i<=n;i++)
{
if(visited[i]==l)
count++;
if(visited[i]==k)
count1++;
}
if(count==0)
visited[++vst]=l;
if(count1==0)
visited[++vst]=k;
}
}
enter no of vertices4 enter no of edges4 EDGE Cost 1 2 1 2 3 2 3 4 3 1 3 3 edge from 1–>2edge from 2–>3edge from 1–>3 |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
|
|||||||||||||||||||||||||||||||||||