Depth First Search in Graphs
Depth First Search in Graphs
#include <stdio.h>
#define MAX 100
int adj[MAX][MAX], visited[MAX];
int n;
void dfs(int v) {
printf("%d\n", v);
visited[v] = 1;
for(int i = 1; i <= n; i++) {
if(adj[v][i] == 1 && visited[i] == 0) {
dfs(i);
} }}
int main() {
int edges, src, dest, start;
printf("Enter the number of vertices : \n");
scanf("%d", &n);
printf("Enter the number of edges : \n");
scanf("%d", &edges);
// Initialize
for(int i = 1; i <= n; i++) {
visited[i] = 0;
for(int j = 1; j <= n; j++) {
adj[i][j] = 0;
} }
#include <stdio.h>
#define MAX 100
int adj[MAX][MAX], visited[MAX];
int queue[MAX];
int n;
// BFS function
void bfs(int start) {
int front = 0, rear = 0;
queue[rear++] = start;
visited[start] = 1;
while(front < rear) {
int v = queue[front++];
printf("%d\n", v);
for(int i = 1; i <= n; i++) {
if(adj[v][i] == 1 && visited[i] == 0) {
queue[rear++] = i;
visited[i] = 1;
}
}
}
}
int main() {
int edges, src, dest, start;
printf("Enter the number of vertices : \n");
scanf("%d", &n);
printf("Enter the number of edges : \n");
scanf("%d", &edges);
// Initialize
for(int i = 1; i <= n; i++) {
visited[i] = 0;
for(int j = 1; j <= n; j++) {
adj[i][j] = 0;
}
}