1. Algorithm Description: BFS is a graph traversal algorithm that explores all nodes at the present depth level before moving on to nodes at the next depth level.
2. Steps of BFS:
3. Time Complexity: O(V + E) where V is the number of vertices and E is the number of edges.
4. Space Complexity: O(V) due to the storage of visited nodes and the queue.
5. Usage: BFS is useful for finding the shortest path in unweighted graphs and is commonly used in level-order traversal of trees.