Exploring Undirected Graphs with Breadth-First Search: A Comprehensive Example
300 likes | 417 Vues
This guide delves into the implementation of the Breadth-First Search (BFS) algorithm for undirected graphs. It outlines the process of discovering nodes while traversing a graph, utilizing a queue-based approach to manage the frontier of the search. We walk through the BFS steps, detailing how nodes are visited, how to maintain a record of discovered and undiscovered nodes, and how to handle various scenarios like revisiting or completing the search. This comprehensive overview aims to enhance your understanding of graph traversal techniques.
Exploring Undirected Graphs with Breadth-First Search: A Comprehensive Example
E N D
Presentation Transcript
Undirected Breadth First Search A H B C G D E F
Undirected Breadth First Search 0 A distance from A H visit(A) B C G D E F get Undiscovered Queue: A Fringe Active Finished
Undirected Breadth First Search F 1 0 A H F discovered B C G D E F Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search B 1 0 A H B discovered B C G D E F 1 Undiscovered Queue: F Fringe Active Finished
Undirected Breadth First Search C 1 0 A H C discovered B C G 1 D E F 1 Undiscovered Queue: F B Fringe Active Finished
Undirected Breadth First Search 1 G 0 A H G discovered B C G 1 1 D E F 1 Undiscovered Queue: F B C Fringe Active Finished
Undirected Breadth First Search 0 A H 1 A finished B C G 1 1 D E F 1 get Undiscovered Queue: F B C G Fringe Active Finished
Undirected Breadth First Search 0 A H 1 A alreadyvisited B C G 1 1 D E F 1 Undiscovered Queue: B C G Fringe Active Finished
Undirected Breadth First Search D 2 0 A H 1 D discovered B C G 1 1 D E F 1 Undiscovered Queue: B C G Fringe Active Finished
Undirected Breadth First Search 2 E 0 A H 1 E discovered B C G 1 1 D E 2 F 1 Undiscovered Queue: B C G D Fringe Active Finished
Undirected Breadth First Search 0 A H 1 F finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: B C G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 B C G 1 1 2 D E 2 F 1 Undiscovered Queue: C G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 A alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: C G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 B finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: C G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 A alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 C finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: G D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 A alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 E alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 G finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: D E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 E alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 F alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 D finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: E Fringe Active Finished
Undirected Breadth First Search 0 A H 1 D alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search 0 A H 1 F alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search 0 A H 1 G alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search H 3 0 A H 1 H discovered B C G 1 1 2 D E 2 F 1 Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search 0 A H 3 1 E finished B C G 1 1 2 D E 2 F 1 get Undiscovered Queue: H Fringe Active Finished
Undirected Breadth First Search 0 A H 3 1 E alreadyvisited B C G 1 1 2 D E 2 F 1 Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search 0 A H 3 1 H finished B C G 1 1 2 D E 2 F 1 STOP Undiscovered Queue: Fringe Active Finished
Undirected Breadth First Search 0 A distance from A H 3 1 B C G 1 1 2 D E 2 F 1