Download
breadth first search n.
Skip this Video
Loading SlideShow in 5 Seconds..
Breadth-First Search PowerPoint Presentation
Download Presentation
Breadth-First Search

Breadth-First Search

95 Vues Download Presentation
Télécharger la présentation

Breadth-First Search

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan. 2005 Mohammad Reza Akhavan

  2. Outline (BFS) • Rooted Tree • Spanning Tree • Breadth-First Search • BFS Algorithm • Example

  3. Rooted Tree • A rooted tree is a tree in which a special node is singled out. This node is called the "root“. A tree which is not rooted is sometimes called a free tree. Rooted Tree Free Tree

  4. Spanning Tree A spanning tree in a graph G with n nodes and m edges: • A sub-graph that connects all the nodes. • A sub-graph with no cycles. • A sub-graph with m=n-1 edges.

  5. Breadth-First Search • Visits all the nodes and edges of G • Determines whether G is connected • Computes the connected components of G • Find and report a path with the minimum number of edges between two given nodes • Find a simple cycle, if there is one • Provide the shortest path from a given root to all other nodes of the network

  6. BFS for Shortest Path (i=0) s 0 • The algorithm uses a mechanism for setting and getting “labels” of nodes and edges. • Nodes whose distance from s is 0 are labeled.

  7. BFS for Shortest Path (i=1) s 1 0 1 1 Nodes whose distance from s is 1 are labeled.

  8. BFS for Shortest Path (i=2) 1 s 0 2 2 1 2 1 Nodes whose distance from s is 2 are labeled.

  9. 1 s 0 2 2 3 1 2 1 BFS for Shortest Path (i=3) Nodes whose distance from s is 3 are labeled. The next iteration finds out that the whole graph is labeled and therefore the procedure stops.

  10. 1 s 0 2 2 3 1 2 1 s 1 0 2 2 3 1 2 1 The BFS Tree

  11. BFS Algorithm • The algorithm uses a mechanism for setting and getting “labels” of nodes and edges • Search a graph by increasing distance from the starting vertex (or from the starting vertices in case of several connected components). • Can think of creating one level after the other (by increasing depth).

  12. BFS – Asynchronies Mode 0 1 1 1 3 2 3 2 2 2 4 2 3 3 4 3 4 2 3 4 4 5 4 3 7 5 7 7 4 6 6

  13. References: • Introduction to Distributed Algorithms by Gerard Tel. • Google !