Program 1&3
Program 1&3
#include<stdio.h>
int v[10],min,u,i,j;
d[i]=c[s][i];
v[i]=0;
v[s]=1;
min=INF;
min=d[j];
u=j;
v[u]=1;
d[j]=d[u]+c[u][j];
int main()
{
int c[10][10],d[10],i,j,s,sum,n;
printf("\nEnter n value:");
scanf("%d",&n);
scanf("%d",&c[i][j]);
scanf("%d",&s);
dijkstra(c,n,s,d);
return 0;
output
Enter n value:4
999 87 56 45
1 0 999 678
Kruskal Algorithm
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void union1(int
i,int j,int s[ ])
s[i]=j; }
while(s[v]!=v)
v=s[v];
return v; }
int count,
i,s[10],min,j,
u,v,k,t[10][2],sum;
for(i=0;i<n;i++)
s[i]=
count=0;
sum=0;
k=0;
while(count<n
-1)
min=999;
for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
min=c[i][j];
u=i,v=j; }}}
if(min==999)
break;
i=find(u,s);
j=find(v,s)
if(i!=j) {
t[k][0]=u;
t[k][1]=v;
k++;
count++;
sum=sum+min;
union1(
i,j,s);
c[u][v]=c[v][u]=999; }
if(count==n
-1)
\n”,sum);
for(k=0;k<n
-1;k++)
printf(“%d
-> %d = %d
\n”,t[k][0],t[k][1], c[u][v]);
return();
\n”);
void main() {
clock_t st,end;
int n,c[10][10],
i,j;
\n”);
scanf(“%d”,&n);
\n”);
for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
scanf(“%d”,&c[i][j]); }}
st=clock();
kruskal(n,c);
end=clock();
printf("
\ntime taken in sec is %d
\n",(end
-st));
OUTPUT
999 3 5 4
3 999 999 7
5 999 999 6
4 7 6 999
01
03
02