Step 1: Start BFS from node 0, mark it visited and add to component
Visited: {0}
Queue: [0]
Components: []Why: We begin exploring from the first unvisited node to find its group
Step 2: Visit neighbors of 0: node 1, mark visited and enqueue
Visited: {0,1}
Queue: [1]
Components: []Why: We add connected nodes to explore their neighbors next
Step 3: Dequeue 1, visit neighbors: node 0 (visited), node 2 (unvisited), mark 2 visited and enqueue
Visited: {0,1,2}
Queue: [2]
Components: []Why: Continue exploring connected nodes to find full group
Step 4: Dequeue 2, visit neighbors: node 1 (visited), no new nodes to add
Visited: {0,1,2}
Queue: []
Components: [[0,1,2]]Why: Finished exploring first connected component
Step 5: Next unvisited node is 3, start BFS, mark visited and enqueue
Visited: {0,1,2,3}
Queue: [3]
Components: [[0,1,2]]Why: Find next connected group starting from unvisited node
Step 6: Dequeue 3, visit neighbors: node 4, mark visited and enqueue
Visited: {0,1,2,3,4}
Queue: [4]
Components: [[0,1,2]]Why: Explore neighbors to find full connected component
Step 7: Dequeue 4, visit neighbors: node 3 (visited), no new nodes
Visited: {0,1,2,3,4}
Queue: []
Components: [[0,1,2],[3,4]]Why: Finished second connected component
Step 8: Next unvisited node is 5, start BFS, mark visited and enqueue
Visited: {0,1,2,3,4,5}
Queue: [5]
Components: [[0,1,2],[3,4]]Why: Isolated node forms its own connected component
Step 9: Dequeue 5, no neighbors to visit
Visited: {0,1,2,3,4,5}
Queue: []
Components: [[0,1,2],[3,4],[5]]Why: Finished last connected component
Result: Components: [[0,1,2],[3,4],[5]]