1 / 9

Depth First Search Neil Tang 4/1/2010

Depth First Search Neil Tang 4/1/2010. Class Overview. Breadth First Search (BFS) Depth First Search (DFS) DFS on an undirected graph DFS on a digraph Strong connected components. BFS.

cwen
Download Presentation

Depth First Search Neil Tang 4/1/2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Depth First Search Neil Tang4/1/2010 CS223 Advanced Data Structures and Algorithms

  2. Class Overview • Breadth First Search (BFS) • Depth First Search (DFS) • DFS on an undirected graph • DFS on a digraph • Strong connected components CS223 Advanced Data Structures and Algorithms

  3. BFS • Visit the nodes that are one-hop away from the starting node one by one, then the nodes that are two-hop away, then …, i.e., layer by layer. • A queue should be used to implement the BFS. • Make sure each node is visited exactly once. CS223 Advanced Data Structures and Algorithms

  4. DFS • A generalized pre-order traversal Time Complexity: O(|V|+|E|) CS223 Advanced Data Structures and Algorithms

  5. DFS on An Undirected Graph DFS(A): A,B,C,D,E CS223 Advanced Data Structures and Algorithms

  6. DFS on An Undirected Graph • DFS can be used to find if an undirected graph is connected or not. • DFS can also be used to find all the connected components. CS223 Advanced Data Structures and Algorithms

  7. DFS on A Digraph DFS(B): B,C,A,D,E,F; DFS(H): H,J,I; DFS(G): G. CS223 Advanced Data Structures and Algorithms

  8. Strongly Connected Components • Perform DFS until all nodes are visited. • Construct an auxiliary graph Gr. • Perform DFS on Gr in the reverse order of the index numbers. CS223 Advanced Data Structures and Algorithms

  9. Strongly Connected Components DFS(G): G; DFS(H): H,I,J; DFS(B): B,A,C,F; DFS(D): D; DFS(E): E. Strongly Connected Components: (G), (H,I,J), (B,A,C,F),(D),(E) Gr The forest after the first DFS CS223 Advanced Data Structures and Algorithms

More Related