Title: BreadthFirst Search
1Breadth-First Search
Seminar Networking Algorithms CS and EE
Dept. Lulea University of Technology 27 Jan.
2005 Mohammad Reza Akhavan
2Outline (BFS)
- Rooted Tree
- Spanning Tree
- Breadth-First Search
- BFS Algorithm
- Example
3Rooted 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
4Spanning 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 mn-1 edges.
5Breadth-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
6BFS for Shortest Path (i0)
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.
7BFS for Shortest Path (i1)
s
1
0
1
1
Nodes whose distance from s is 1 are labeled.
8BFS for Shortest Path (i2)
1
s
0
2
2
1
2
1
Nodes whose distance from s is 2 are labeled.
9BFS for Shortest Path (i3)
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.
10The BFS Tree
11BFS 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).
12BFS 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
7
3
5
7
4
7
6
6
13References
- Introduction to Distributed Algorithms
- by Gerard Tel.
- Google !