C Program to implement Dijkstra’s algorithm.

C Program to implement Dijkstra’s algorithm. Dijkstra’s Algorithm finds the shortest path with the lower cost in a Graph. Dijkstra’s Algorithm solves the Single Source Shortest Path problem for a Graph. It is a Greedy algorithm and similar to Prim’s algorithm. Read more about C Programming Language .

`/************************************************************ You can use all the programs on  www.c-program-example.com* for personal and learning purposes. For permissions to use the* programs for commercial purposes,* contact info@c-program-example.com* To find more C programs, do visit www.c-program-example.com* and browse!* *                      Happy Coding***********************************************************/#include "stdio.h"#include "conio.h"#define infinity 999void dij(int n,int v,int cost[10][10],int dist[]){ int i,u,count,w,flag[10],min; for(i=1;i<=n;i++)  flag[i]=0,dist[i]=cost[v][i]; count=2; while(count<=n) {  min=99;  for(w=1;w<=n;w++)   if(dist[w]<min && !flag[w])    min=dist[w],u=w;  flag[u]=1;  count++;  for(w=1;w<=n;w++)   if((dist[u]+cost[u][w]<dist[w]) && !flag[w])    dist[w]=dist[u]+cost[u][w]; }}void main(){ int n,v,i,j,cost[10][10],dist[10]; clrscr(); printf("n Enter the number of nodes:"); scanf("%d",&n); printf("n Enter the cost 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]=infinity;  } printf("n Enter the source matrix:"); scanf("%d",&v); dij(n,v,cost,dist); printf("n Shortest path:n"); for(i=1;i<=n;i++)  if(i!=v)   printf("%d->%d,cost=%dn",v,i,dist[i]); getch();}`
`Read more Similar C ProgramsData StructuresPrims AlgorithmLearn C Programming`

You can easily select the code by double clicking on the code area above.

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

(you can send this program to your friend using this button)

(c) www.c-program-example.com

6 comments on “C Program to implement Dijkstra’s algorithm.”

• pardha says:

can you please give the explanation for the programs

• Hello,
That'll be a nice thing to add to this website. But there are so many programs, it's practically impossible to write explanation for everything.

However, if you have a specific question you can email to info@c-program-example.com

Cheers!

• thanks this progarm is successfully execute

• Thank you, but it would more helpful if you would display even the output :)(just a suggestion)

• @Bandela Sanyo:
Sure. Will try to do it soon.

Thanks for your comment. Feel free to share.