Program
#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 <>
{
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\tDEPTH-FRIST SEARCH TRAVERSAL");
printf("\n\t\t\t--------------------------------------------------");
printf("\n\n");
printf("DFS Traverse:");
dfs(adj,visited,0);
getch();
}
DFS Traverse: A-C-B-D-E-