Вы находитесь на странице: 1из 2

BREADTH FIRST AND DEPTH FIRST TRAVERSAL IN

GRAPH

#include<stdio.h>
#include<conio.h>
int visited[10],a[10][10],n;
void dfs(int k)
{
int i;
printf("->%d",k);
visited[k]=1;
for(i=1;i<=n;i++)
if(visited[i]==0)
if(a[k][i]!=0)
dfs(i);
}
void bfs(int k)
{
int i;
pr in t f ( " - >%d" ,k ) ;
v i s i ted [k ]=1 ;
f o r ( i=1 ; i<=n; i++)
i f ( v i s i t ed [ i ]==0)
{
i f ( a [k ] [ i ] !=0)
{
b fs ( i ) ;
}
break ;
}
}
vo id main ( )
{
i n t i , j , ch ;
c l r sc r ( ) ;
pr in t f ( " \nEn te r the no . o f nodes : " ) ;
scan f ( "%d" ,&n) ;
pr in t f ( " \nEn te r the ad jacen t matr i x : \ t " ) ;
f o r ( i=1 ; i<=n; i++)
f o r ( j=1 ; j<n ; j++)

1 | Page bfdf coding


i f ( i != j )
{
pr in t f ( " \nEn te r the va lue o f the %d,%d e lement : " , i , j ) ;
scan f ( "%d" ,&a[ i ] [ j ] ) ;
}
pr in t f ( " \nNodes a re v i s i ted i n th i s orde r : " ) ;
goto b fs ;
b fs :
{
pr in t f ( " \nBFS" ) ;
f o r ( i=1 ; i<=n; i++)
i f ( v i s i t ed [ i ]==0)
b fs ( i ) ;
}
goto d fs ;
d fs :
{
pr in t f ( " \nDFS" ) ;
f o r ( j=1 ; j<=10 ; j++)
{
v i s i ted [ j ]=0 ;
}
f o r ( i=1 ; i<=n; i++)
i f ( v i s i t ed [ i ]==0)
d fs ( i ) ;
}
getch ( ) ;
}

2 | Page bfdf coding

Вам также может понравиться