Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Taken from: http://www.c-program-example.com/2011/10/c-program-to-implement-breadth-first.html
- */
- #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;
- clrscr();
- printf("\n Masukkan jumlah vertex:");
- scanf("%d",&n);
- for(i=1;i<=n;i++)
- {
- q[i]=0;
- visited[i]=0;
- }
- printf("\n Masukkan data graf dalam bentuk matriks:\n");
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- scanf("%d",&a[i][j]);
- printf("\n Mulai pada vertex ke:");
- scanf("%d",&v);
- bfs(v);
- printf("\n Node yang dapat dicapai adalah:\n");
- for(i=1;i<=n;i++)
- if(visited[i])
- printf("%d\t",i);
- else
- printf("\n Tidak dapat melakukan BFS");
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement