0% found this document useful (0 votes)
4 views4 pages

C Program for BFS and DFS Traversal

Uploaded by

batharva24comp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views4 pages

C Program for BFS and DFS Traversal

Uploaded by

batharva24comp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

#include <stdio.

h>

#define max 3

void bfs(int adj[][max], int visited[], int start) {

int queue[max], front = -1, rear = -1, i, k;

for (k = 0; k < max; k++) {

visited[k] = 0;

queue[++rear] = start;

front++;

visited[start] = 1;

while (rear >= front) {

start = queue[front++];

printf("%c-", start + 65);

for (i = 0; i < max; i++) {

if (adj[start][i] && visited[i] == 0) {

queue[++rear] = i;

visited[i] = 1;

printf("\n");

void dfs(int adj[][max], int visited[], int start) {

int stack[max], top = -1, i;

for (i = 0; i < max; i++) {

visited[i] = 0;

stack[++top] = start;

visited[start] = 1;
while (top != -1) {

start = stack[top--];

printf("%c-", start + 65);

for (i = 0; i < max; i++) {

if (adj[start][i] && visited[i] == 0) {

stack[++top] = i;

visited[i] = 1;

printf("\n");

int main() {

int visited[max] = {0};

int adj[max][max], i, j;

int opt;

while (1) {

printf("Enter option:\n");

printf("1: Create adjacency matrix\n");

printf("2: BFS Traversal\n");

printf("3: DFS Traversal\n");

printf("4: Exit\n");

scanf("%d", &opt);

switch (opt) {

case 1:

printf("Create adjacency matrix (3x3):\n");

for (i = 0; i < max; i++) {

for (j = 0; j < max; j++)

scanf("%d", &adj[i][j]);

break;
case 2:

printf("BFS Traversal starting from node 0:\n");

bfs(adj, visited, 0);

break;

case 3:

printf("DFS Traversal starting from node 0:\n");

dfs(adj, visited, 0);

break;

case 4:

return 0;

return 0;

Output:-

/tmp/ZmfkoLq8ce.o

Enter option:

1: Create adjacency matrix

2: BFS Traversal

3: DFS Traversal

4: Exit

Create adjacency matrix (3x3):

1
0

Enter option:

1: Create adjacency matrix

2: BFS Traversal

3: DFS Traversal

4: Exit

BFS Traversal starting from node 0:

A-B-C-

Enter option:

1: Create adjacency matrix

2: BFS Traversal

3: DFS Traversal

4: Exit

DFS Traversal starting from node 0:

A-C-B-

Enter option:

1: Create adjacency matrix

2: BFS Traversal

3: DFS Traversal

4: Exit

You might also like