DEPTH-FRIST TRAVERSAL
#include”stdio.h”
#include”conio.h”
#define max 5
void dfs(int adj[][max],int visited[],int start)
{
int stack[max],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]={ {0,0,1,1,0},{0,0,0,0,0},
{0,1,0,1,1},{0,0,0,0,1},
{0,0,0,1,0} };
int visited[max]={0};
clrscr();
printf("\n\t\t\t DEPTH-FRIST SEARCH TRAVERSAL");
printf("\n\t\t\t ****************************");
printf("\n\n");
printf("DFS Traverse:");
dfs(adj,visited,0);
getch();
}
OUTPUT
DEPTH-FRIST SEARCH TRAVERSAl
DFS Traverse:A-C-B-D-E-
DEPTH-FRIST SEARCH TRAVERSAl
DFS Traverse:A-C-B-D-E-
No comments:
Post a Comment