Skip to content

Commit 561028a

Browse files
committed
.
1 parent b6af350 commit 561028a

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

Algorithms/08_ShortestPath/03_BFS.cpp

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ using namespace std;
44
#define INF 1e9
55

66
void BFS(vector<int> adj[], int V, int src, bool visited[]){
7+
// BFS of a connected graph
78
queue<int> q;
89
q.push(src);
910
visited[src] = true;
@@ -23,6 +24,7 @@ void BFS(vector<int> adj[], int V, int src, bool visited[]){
2324
}
2425

2526
void BFSDis (vector<int> adj[], int V){
27+
// BFS of a disconnected graph
2628
bool visited[V];
2729
for(int i = 0; i < V; i++){
2830
visited[i] = false;
@@ -36,19 +38,37 @@ void BFSDis (vector<int> adj[], int V){
3638
}
3739

3840
int main(){
39-
int V = 5;
41+
// For disconnected graph
42+
int V = 7;
4043
vector<int> adj[V];
44+
adj[0].push_back(1);
45+
adj[1].push_back(0);
46+
adj[1].push_back(2);
47+
adj[2].push_back(1);
48+
adj[3].push_back(4);
49+
adj[4].push_back(3);
50+
adj[5].push_back(6);
51+
adj[6].push_back(5);
52+
53+
cout << "Following is Breadth First Traversal: " << endl;
54+
BFSDis(adj, V);
55+
56+
// For connected graph
57+
int V = 4;
58+
vector<int> adj[V];
59+
bool visited[V];
4160

4261
adj[0].push_back(1);
4362
adj[0].push_back(2);
63+
adj[1].push_back(0);
4464
adj[1].push_back(2);
4565
adj[2].push_back(0);
66+
adj[2].push_back(1);
4667
adj[2].push_back(3);
47-
adj[3].push_back(3);
48-
adj[4].push_back(4);
68+
adj[3].push_back(2);
4969

5070
cout << "Following is Breadth First Traversal: " << endl;
51-
BFSDis(adj, V);
71+
BFS(adj, V, 0, visited);
5272

5373
return 0;
5474
}

0 commit comments

Comments
 (0)