dijkstra algorithm using c

#include<stdio.h>#include<conio.h>#define INFINITY 9999#define MAX 10 void dijikstra(int G[MAX][MAX], int n, int startnode); void main(){	int G[MAX][MAX], i, j, n, u;	clrscr();	printf("\nEnter the no. of vertices:: ");	scanf("%d", &n);	printf("\nEnter the adjacency matrix::\n");	for(i=0;i < n;i++)		for(j=0;j < n;j++)			scanf("%d", &G[i][j]);	printf("\nEnter the starting node:: ");	scanf("%d", &u);	dijikstra(G,n,u);	getch();} void dijikstra(int G[MAX][MAX], int n, int startnode){	int cost[MAX][MAX], distance[MAX], pred[MAX];	int visited[MAX], count, mindistance, nextnode, i,j;	for(i=0;i < n;i++)		for(j=0;j < n;j++)			if(G[i][j]==0)				cost[i][j]=INFINITY;			else				cost[i][j]=G[i][j];		for(i=0;i< n;i++)	{		distance[i]=cost[startnode][i];		pred[i]=startnode;		visited[i]=0;	}	distance[startnode]=0;	visited[startnode]=1;	count=1;	while(count < n-1){		mindistance=INFINITY;		for(i=0;i < n;i++)			if(distance[i] < mindistance&&!visited[i])			{				mindistance=distance[i];				nextnode=i;			}		visited[nextnode]=1;		for(i=0;i < n;i++)			if(!visited[i])				if(mindistance+cost[nextnode][i] < distance[i])				{					distance[i]=mindistance+cost[nextnode][i];					pred[i]=nextnode;				}			count++;	} 	for(i=0;i < n;i++)		if(i!=startnode)		{			printf("\nDistance of %d = %d", i, distance[i]);			printf("\nPath = %d", i);			j=i;			do			{				j=pred[j];				printf(" <-%d", j);			}			while(j!=startnode);		}}  

3
1
Awgiedawgie 440220 points

                                    #include&lt;stdio.h&gt;
#include&lt;conio.h&gt;
#define INFINITY 9999
#define MAX 10
&nbsp;
void dijkstra(int G[MAX][MAX],int n,int startnode);
&nbsp;
int main()
{
int G[MAX][MAX],i,j,n,u;
printf(&quot;Enter no. of vertices:&quot;);
scanf(&quot;%d&quot;,&amp;n);
printf(&quot;\nEnter the adjacency matrix:\n&quot;);
for(i=0;i&lt;n;i++)
for(j=0;j&lt;n;j++)
scanf(&quot;%d&quot;,&amp;G[i][j]);
printf(&quot;\nEnter the starting node:&quot;);
scanf(&quot;%d&quot;,&amp;u);
dijkstra(G,n,u);
return 0;
}
&nbsp;
void dijkstra(int G[MAX][MAX],int n,int startnode)
{
&nbsp;
int cost[MAX][MAX],distance[MAX],pred[MAX];
int visited[MAX],count,mindistance,nextnode,i,j;
//pred[] stores the predecessor of each node
//count gives the number of nodes seen so far
//create the cost matrix
for(i=0;i&lt;n;i++)
for(j=0;j&lt;n;j++)
if(G[i][j]==0)
cost[i][j]=INFINITY;
else
cost[i][j]=G[i][j];
//initialize pred[],distance[] and visited[]
for(i=0;i&lt;n;i++)
{
distance[i]=cost[startnode][i];
pred[i]=startnode;
visited[i]=0;
}
distance[startnode]=0;
visited[startnode]=1;
count=1;
while(count&lt;n-1)
{
mindistance=INFINITY;
//nextnode gives the node at minimum distance
for(i=0;i&lt;n;i++)
if(distance[i]&lt;mindistance&amp;&amp;!visited[i])
{
mindistance=distance[i];
nextnode=i;
}
//check if a better path exists through nextnode
visited[nextnode]=1;
for(i=0;i&lt;n;i++)
if(!visited[i])
if(mindistance+cost[nextnode][i]&lt;distance[i])
{
distance[i]=mindistance+cost[nextnode][i];
pred[i]=nextnode;
}
count++;
}
&nbsp;
//print the path and distance of each node
for(i=0;i&lt;n;i++)
if(i!=startnode)
{
printf(&quot;\nDistance of node%d=%d&quot;,i,distance[i]);
printf(&quot;\nPath=%d&quot;,i);
j=i;
do
{
j=pred[j];
printf(&quot;&lt;-%d&quot;,j);
}while(j!=startnode);
}
}

3 (1 Votes)
0
Are there any code examples left?
Create a Free Account
Unlock the power of data and AI by diving into Python, ChatGPT, SQL, Power BI, and beyond.
Sign up
Develop soft skills on BrainApps
Complete the IQ Test
Relative searches
dijkstra algorithm c program dijkstra's algorithm program in c dijkstra algorithm in c' dijkstra implementation in c Dijkstra&rsquo;s algorithm c Write a program in a C to perform Dijkstra&rsquo;s Algorithm. dijkstra algorithm in c program write a program to implement dijkstra's algorithm in c Write a C program to implement Dijkstra algorithm dikjkstra algorithm in c language dijkstra algorithm c quoi dijkstra's algorithmin c using c structs dijkstra's algorithm in c using structure implementation of Dijkstra algorithm in c dijkstra c code dijkstras c code dijkstra algorithm in c with data structure used dijkstra algorithm in c with structure dijkstra algorithm using c algorithm dijkstra C dijkstra algorithm in c using structure alg Dijkstra in C dijkstra's algorithm and a* code in c++ implement Dijkstra Algorithm in c dijkstra's algorithm c program dijkstra's algorithm c code implement dijkstra's algorithm in c project on Dijkstra&rsquo;s algorithm c code dijkstra algorithm c dijkstra algorithm function in c dijkstra&rsquo;s algorithm in c dijkstra's algorithm in c dijkstras algorithm in c program for dijkstra's algorithm in c dijkstra algorithm in c dijkstra algorithm crazy programmer why dijkstra algorithm is used dijkstra algorithm online application of dijkstra algorithm dijkstra algorithm greedy c dijkstra code in c short path algo project in c language dijkstra's algorithm c dijstkras algorithm computr networks c program shortest distance problem in c write a program to implement dijkstra's shortest path algorithm dijkstra algorithm c language
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source