SEP- ADA

PROGRAM 1 PROGRAM 2 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 6 PROGRAM 7

PART B

PROGRAM B1 PROGRAM B2 PROGRAM B3 PROGRAM B4 PROGRAM B5 PROGRAM B6 PROGRAM B7 . . .

 
 
     
     7. BFS – Breadth First Search
#include < stdio.h>

int graph[10][10], visited[10], queue[10];
int n, front = 0, rear = -1;

void BFS(int start)
{
    int i, v;

    visited[start] = 1;
    queue[++rear] = start;

    while(front <= rear)
    {
        v = queue[front++];

        printf("%d ", v + 1);

        for(i = 0; i < n; i++)
        {
            if(graph[v][i] == 1 && visited[i] == 0)
            {
                visited[i] = 1;
                queue[++rear] = i;
            }
        }
    }
}

int main()
{
    int i, j, start;

    printf("Enter the number of vertices: ");
    scanf("%d", &n);

    printf("Enter the adjacency matrix:\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            scanf("%d", &graph[i][j]);
        }
    }

    for(i = 0; i < n; i++)
        visited[i] = 0;

    printf("Enter the starting vertex: ");
    scanf("%d", &start);

    printf("BFS Traversal: ");
    BFS(start - 1);

    return 0;
}

Example input:

5
0 1 1 0 0
1 0 0 1 1
1 0 0 0 0
0 1 0 0 0
0 1 0 0 0
1

Output:

BFS Traversal: 1 2 3 4 5