BFS

Program to achieve BFS operation...


/* Program to achieve BFS opration*/
#include<stdio.h>
#include<conio.h>
int adj[10][10],visit[10]={0},count=0,n=0;
void bfs(int s)
{
int que[10],i,f,front=-1,rear=-1;
count++;
visit[s]=1;
que[++rear]=s;
while(front<=rear)
{
f=front+1;
for(i=1;i<=n;i++)
{
if(adj[que[f]][i]==1 && visit[i]==0)
{
count++;
printf("%d\t",i);
visit[i]=1;
que[++rear]=i;
}
}
front++;
}
}

main()
{
int s,i,j;
clrscr();
printf("\nEnter the no of nodes : ");scanf("%d",&n);
printf("\nEnter the adjacency matrix \n");
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&adj[i][j]);
printf("\nEnter the source node : ");scanf("%d",&s);
printf("\nNodes reachable from %d are \n",s);
bfs(s);
if(count==1)
printf("\nNo nodes..!!");
getch();
return 0;
}
Category:

0 comments: