Depth First Search
Write a Program to implement depth first search.
#include<stdio.h>
#include<conio.h>
#define max 5
void dfs(int adj[][max], int visited[], int start)
{
int stack[max];
int top=-1,i;
printf("%c-",start+65);
visited[start]=1;
stack[++top]=start;
while(top!=-1)
{
start=stack[top];
for(i=0;i<max;i++)
{
if(adj[start][i]&&visited[i]==0)
{
stack[++top]=i;
printf("%c-",i+65);
visited[i]=1;
break;
}
}
if(i==max)
top--;
}
}
void main()
{
int adj[max][max];
int visited[max]={0},i,j;
printf("Enter the adjacency matrix");
for(i=0;i<max;i++)
for(j=0;j<max;j++)
scanf("%d",&adj[i][j]);
printf("DFS Traversal: \n");
dfs(adj,visited,0);
printf("\n");
getch();
}
OUTPUT:
Comments
Post a Comment