Step 1: Start BFS from node 0, mark it visited
Visited: {0}
Queue: [0]Why: We begin exploring from node 0 to find its connected group
Step 2: Dequeue 0, enqueue its neighbor 1, mark 1 visited
Visited: {0,1}
Queue: [1]Why: Node 1 is connected to 0, so we add it to the group
Step 3: Dequeue 1, enqueue neighbor 2, mark 2 visited
Visited: {0,1,2}
Queue: [2]Why: Node 2 is connected to 1, so it belongs to the same group
Step 4: Dequeue 2, no new neighbors to visit
Visited: {0,1,2}
Queue: []Why: All nodes connected to 0 are visited, group complete
Step 5: Start BFS from next unvisited node 3, mark visited
Visited: {0,1,2,3}
Queue: [3]Why: Find next group starting from node 3
Step 6: Dequeue 3, enqueue neighbor 4, mark 4 visited
Visited: {0,1,2,3,4}
Queue: [4]Why: Node 4 is connected to 3, same group
Step 7: Dequeue 4, no new neighbors
Visited: {0,1,2,3,4}
Queue: []Why: Group {3,4} fully explored
Step 8: Start BFS from node 5, mark visited
Visited: {0,1,2,3,4,5}
Queue: [5]Why: Node 5 is isolated, forms its own group
Step 9: Dequeue 5, no neighbors
Visited: {0,1,2,3,4,5}
Queue: []Why: Isolated node group complete
Result: Groups found:
Group 1: 0 -> 1 -> 2
Group 2: 3 -> 4
Group 3: 5