Professional Documents
Culture Documents
Travelling mam
Travelling mam
h>
#include<stdlib.h>
#include<limits.h>
#define V 4
printPath(parent,parent[j]);
printf("%d",j);
}
void printSolution(int dist[],int parent[])
{
int src=0;
printf("Vertex\t Distance \t Path \n");
for(int i=1;i<V;i++)
{
printf("%d -->%d\t %d\t\t %d",src,i,dist[i],src);
printPath(parent,i);
printf("\n");
}
}
for(int i=0;i<V;i++)
{
dist[i]=INT_MAX,visited[i]=0,parent[i]=-1;
}
dist[0]=0;
for(int count=0;count<V-1;count++)
{
int u=minDistance(dist,visited);
visited[u]=1;
for(int v=0;v<V;v++)
if(!visited[v] && graph[u][v] && dist[u]+graph[u][v] <dist[v])
parent[v]=u,dist[v]=dist[u]+graph[u][v];
}
printSolution(dist,parent);
}
int main()
{
int graph[V][V]={
{0,10,15,20},
{10,0,35,25},
{15,35,0,30},
{20,25,30,0}
};
nearestNeighbor(graph);
return 0;
}