Write a C program to implement an algorithm based on DepthFi
Solution
i) First Question Answer:
#include<stdio.h>
#include<conio.h>
#define maxV 20
int a[maxV][maxV], visited[maxV], size;
void dfs(int vertex)
{
int i;
visited[vertex] = 1;
for(i = 1; i <= size; i++)
if( a[vertex][i] && !visited[i] )
{
printf(\"\ %d --> %d\", vertex, i);
dfs(i);
}
}
void main()
{
int i, j, count = 0;
clrscr();
printf(\"\ Enter number of vertices: \");
scanf(\"%d\",&size);
for( i = 1; i <= size; i++ )
{
visited[i] = 0;
for(j = 1; j <= size; j++)
a[i][j] = 0;
}
printf(\"\ Enter the adjacency matrix:\ \");
for(i = 1; i <= size; i++)
for(j = 1; j <= size; j++)
scanf(\"%d\",&a[i][j]);
dfs(1);
printf(\"\ \");
for(i = 1; i <= size; i++)
{
if(visited[i])
count++;
}
if(count == size)
printf(\"\ Graph is connected\");
else
printf(\"\ Graph is not connected\");
getch();
}
ii) Second Question Answer:
I\'m test the given matrix, using above program.
Output is as follows:
1 --> 2
2 --> 3
3 --> 4
Graph is not connected

