Prime Algorithm

 #include<stdio.h>


int a,b,u,v,n,i,j,ne=1;

int visited[10]= {0},min,mincost=0,cost[10][10];

int main()

{

    //clrscr();

    printf("\nEnter the number of nodes:");

    scanf("%d",&n);

    printf("\nEnter the adjacency matrix:\n");

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

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

        {

            scanf("%d",&cost[i][j]);

            if(cost[i][j]==0)

                cost[i][j]=999;

            printf("i=%d j=%d cost=%d\n",i,j,cost[i][j]);

        }

    visited[1]=1;

    printf("\n");

    while(ne < n)

    {

        for(i=1,min=999; i<=n; i++)

        {

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

            {

                printf("iiii=%d jjjj=%d cost=%d\n",i,j,cost[i][j]);

                printf("%d\n",min);

                if(cost[i][j]< min)

                    if(visited[i]!=0)

                    {

                        min=cost[i][j];

                        a=u=i;

                        b=v=j;

                    }

            }


        }

        if(visited[u]==0 || visited[v]==0)

        {

            printf("------------------------");

            printf("\n Edge %d:(%d %d) cost:%d",ne++,a,b,min);

            mincost+=min;

            visited[b]=1;

        }

        cost[a][b]=cost[b][a]=999;

    }

    printf("\n Minimun cost=%d",mincost);

}

/*

0

3

2

3

0

1

2

1

0

*/


মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

BSF

Job Sequencing Problem

Dijkstra's shortest path algorithm-2