#include<stdio.h>
#include<conio.h>
int a[20][20],q[20],visited[20],n,i,j,f=0,r=-1;
void bfs(int v)
{
for(i=1;i<=n;i++)
if(a[v][i] && !visited[i])
q[++r]=i;
if(f<=r)
{
visited[q[f]]=1;
bfs(q[f++]);
}
}
void main()
{
int v;
printf("\n Enter the number of vertices:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
q[i]=0;
visited[i]=0;
}
printf("\n Enter graph data in matrix form:\n");
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
printf("\n Enter the starting vertex:");
scanf("%d",&v);
bfs(v);
printf("\n The node which are reachable are:\n");
for(i=1;i<=n;i++)
if(visited[i])
printf("%d\t",i);
else
printf("\n Bfs is not possible");
getch();
}
dfs better then from bfs..
The population of BFS Group Ltd is 4,200.
No. why
1. bfs uses queue implementation ie.FIFO dfs uses stack implementation ie. LIFO 2. dfs is faster than bfs 3. dfs requires less memory than bfs 4. dfs are used to perform recursive procedures.
BFS stands for Breadth-First Search. It is a graph traversal algorithm used in computer science to explore and search through the nodes of a graph or tree in a breadthward motion. BFS starts at the root node and explores all the neighboring nodes at the present depth before moving on to the nodes at the next depth level. This algorithm is commonly used to find the shortest path in unweighted graphs and to solve problems like finding connected components or checking for bipartiteness.
going to the gym,daily.
Banking & Financial Sector
No you don't.
No, Breadth-First Search (BFS) is not inherently recursive. It is typically implemented using a queue data structure rather than recursion.
bfs
nop
2,5,4,6,8,9,10