Monday, 14 June 2021

Graph traversal -Breadth First Search (BFS)

Breadth First Search (BFS) algorithm traverses a graph in a breadth ward motion and uses a queue to remember to get the next vertex to start a search, when a dead end occurs in any iteration.

It employs the following rules.
Rule 1 − Visit the adjacent unvisited vertex. Mark it as visited. Display it. Insert it in a queue.
Rule 2 − If no adjacent vertex is found, remove the first vertex from the queue.
Rule 3 − Repeat Rule 1 and Rule 2 until the queue is empty.

1. Initially the Queue is empty

2. We start from visiting S (starting node), and mark it as visited.

3. We then see an unvisited adjacent node from S. In this example, we have three nodes but alphabetically we choose A, mark it as visited and enqueue it.

4. Next, the unvisited adjacent node from S is B. We mark it as visited and enqueue it.

5. Next, the unvisited adjacent node from S is C. We mark it as visited and enqueue it.

6. Now, S is left with no unvisited adjacent nodes. So, we dequeue and find A.

7. From A we have D as unvisited adjacent node. We mark it as visited and enqueue it.

At this stage, we are left with no unmarked (unvisited) nodes. But as per the algorithm we keep on dequeuing in order to get all unvisited nodes. When the queue gets emptied, the program is over.

Time Complexity: O(V+E) where V is number of vertices in the graph and E is number of edges in the graph.

0 comments:

Post a Comment

Note: only a member of this blog may post a comment.

Find Us On Facebook

Computer Basics

More

C Programming

More

Java Tutorial

More

Data Structures

More

MS Office

More

Database Management

More
Top