Programming On Graph
Programming On Graph
{
int visited[MAX) = {O};
int adj[MAX)(MAX), i, j;
printf("\n Enter the adjacency matrix: ");
for(i = o; i < MAX; i++)
for(j = o; j < MAX; j++)
scanf("%d'", &adj[i)[j]);
breadth_first_search(adj,visited,O);
return O;
}
Output
Enter the adjacency matrix:
0 1 0 1 0
1 0 1 1 0
0 1 0 0 1
1 1 0 0 1
0 0 1 1 0
A B DC E
Write a program to implement the depth-first search algorithm.
#include <stdio.h>
#define MAX 5
void depth_first_search(int adj[][MAX],int visited[],int start)
{
int stack[MAX];
int top= -1, i;
printf("%c-",start + 65);
visited[start] = l;
stack[++top] = start;
while(top I = -1)
{
start= stack[top];
for(i = O; i < MAX; i++)
{
if(adj[start][i] && visited[i] = 0)
{
stack[++top] = i;
printf("%c-", i + 65);
visited[i] = l;
break;
}
}
if(i == MAX)
top--;
}
}
int main()
{
int adj[MAX)[MAX];
int visited[MAX) = {O}, i, j;