**Objective: **Given a disconnected graph, Write a program to do the BFS, Breadth-First Search or traversal.

**Example:**

**Approach:**

Earlier we had seen the BFS for a connected graph. In this article, we will extend the solution for the disconnected graph.

- Use the Queue.
- Create a boolean array, mark the vertex true in the array once visited. This array will help in avoiding going in loops and to make sure all the vertices are visited.
- While(any unvisited vertex exist)
- Add the vertex to the queue.
- While the queue is not empty.
- Remove a vertex
from the queue.*v* - Print the vertex
.*v* - Mark the vertex
true in the boolean array.*v* - Add all the unvisited adjacent vertices of v to the queue.

- Remove a vertex

- While the queue is not empty.

- Add the vertex to the queue.

**Code:**

**Output:**

BFS: 0 2 1 3 4 6 5