Professional Documents
Culture Documents
Ada BFS
Ada BFS
Ada BFS
Output: Print all the nodes which are reachable from the starting vertex
F=0 1 1
R=-1 1 1
For i=1 to n do 3 N+1
Q[i]=0 2 N
Visited[i]=0 2 N
End for
Bfs(v) 1 1
For i=1 to n do 3 N+1
If(visited[i]) 1 N
Print “i”
End if
End for
Totaltime=3*(N+1)+4*N+3+1+3+3+1+1+3*(N+1)+2N+2N+1+3*(N+1)+N
=18n+22
Table: n vs T
n Total Time(T)
4 94
5 112
6 130
7 148
8 166
Graph:
Apriori Analysis
180
160
140
120
Axis Title
100
80
60 Series1
40
20
0
1 2 3 4 5
Axis Title
Step 3:Implementation
#include<stdio.h>
#include<conio.h>
int a[20][20],q[30],visited[30],n,i,j,f=0,r=-1,t=5;
void bfs(int v)
t=t+1;
for(i=1;i<=n;i++)
{
t=t+6;
q[++r]=i;
t=t+3;
t=t+1;
if(f<=r)
visited[q[f]]=1;
t=t+3;
bfs(q[f++]);
t=t+3;
void main()
int v;
clrscr();
scanf("%d",&n);
t=t+1;
for(i=1;i<=n;i++)
t=t+2;
q[i]=0;
t=t+2;
visited[i]=0;
t=t+2;
t=t+1;
for(i=1;i<=n;i++)
t=t+2;
for(j=1;j<=n;j++)
t=t+3;
scanf("%d",&a[i][j]);
scanf("%d",&v);
bfs(v);
t=t+1;
t=t+1;
for(i=1;i<=n;i++)
t=t+2;
if(visited[i])
printf("%d\t",i);
printf("\n\nTime complexity=%d\n",t);
getch();
}
Step 4: Aposteriori analysis:
n t
4
5
6
7
8