Type Here to Get Search Results !

To find minimum cost of spanning tree using Prims Algorithm


#include<stdio.h>

#include<conio.h>

int g[20][20],d[20],visited[20],p[20];

int v,e;

int i,j;

void creategraph();

void prim();

void main()

{

clrscr();

creategraph();

prim();

getch();

}

void creategraph()

{

int a,b,w;

printf("Enter number of vertices:");

scanf("%d",&v);

printf("Enter number of edges:");

scanf("%d",&e);

for(i=1;i<=v;i++)

for(j=1;j<=v;j++)

g[i][j]=0;

for(i=1;i<=v;i++)

p[i]=0;


visited[i]=0;

d[i]=32767;

for(i=1;i<=e;i++)

{

printf("Enter edges a,b and w:");

scanf("%d%d%d",&a,&b,&w);

g[a][b]=g[b][a]=w;

}

}

void prim()

{

int current=1,totalvisited=1,min,mincost=0;

visited[current]=1;

d[current]=0;

while(totalvisited!=v)

{


for(i=1;i<=v;i++)

{

if(g[current][i]!=0)

if(visited[i]==0)

if(d[i]>g[current][i])

{

}

}

min=32767;

for(i=1;i<=v;i++)

{

d[i]=g[current][i];


p[i]=current;

if(visited[i]==0)

if(d[i]<min)

{

min=d[i];

current=i;

}

}

visited[current]=1;

totalvisited++;

}

for(i=1;i<=v;i++)

mincost=mincost+d[i];

printf("Minimum cost of the spanning tree is %d",mincost);

}

OutPut:

Enter number of vertices : 3

Enter number of edges : 3

Enter edges a , b &w: 1 2 10

Enter edges a , b &w: 2 3 20

Enter edges a , b &w: 3 1 30

Minimum cost of the spanning tree is 30

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.

Featured post

M

M