Breadth-First Binary Tree Traversal Algorithm

Breadth-First
Binary Tree
Traversal Algorithm
Alyce Brady
CS 470: Data Structures
CS 510: Computer Algorithms
Reminder:
Breadth-First Traversal
A
B
D
C
E
F
A B C D E F G
G
Pseudo-Code for
Breadth-First Traversal
breadth-first-traversal
put root node onto a queue
while the queue is not empty
dequeue the next node
visit the node
e.g., print value
enqueue the left child node
enqueue the right child node
Breadth-First Search
Queue:
A
B
D
C
E
F
A B C D E F G
G
Current:
Breadth-First Search
Queue:
A
A
B
D
C
E
F
G
Current:
Breadth-First Search
Queue:
A
A
B
D
C
E
F
G
Current:
A
Breadth-First Search
Queue:
A
B
D
C
E
F
A
G
Current:
A
Breadth-First Search
Queue:
B
A
B
D
C
E
F
A
G
Current:
A
Breadth-First Search
Queue:
C
B
A
B
D
C
E
F
A
G
Current:
A
Breadth-First Search
Queue:
C
B
A
B
D
C
E
F
A
G
Current:
B
Breadth-First Search
Queue:
C
A
B
D
C
E
F
A B
G
Current:
B
Breadth-First Search
Queue:
D
C
A
B
D
C
E
F
A B
G
Current:
B
Breadth-First Search
Queue:
E
D
C
A
B
D
C
E
F
A B
G
Current:
B
Breadth-First Search
Queue:
E
D
C
A
B
D
C
E
F
A B
G
Current:
C
Breadth-First Search
Queue:
E
D
A
B
D
C
E
F
A B C
G
Current:
C
Breadth-First Search
Queue:
F
E
D
A
B
D
C
E
F
A B C
G
Current:
C
Breadth-First Search
A
B
D
C
E
F
A B C
G
Queue:
G
F
E
D
Current:
C
Breadth-First Search
A
B
D
C
E
F
A B C
G
Queue:
G
F
E
D
Current:
D
Breadth-First Search
Queue:
G
F
E
A
B
D
C
E
F
A B C D
G
Current:
D
Breadth-First Search
Queue:
G
F
E
A
B
D
C
E
F
A B C D
G
Current:
E
Breadth-First Search
Queue:
G
F
A
B
D
C
E
F
A B C D E
G
Current:
E
Breadth-First Search
Queue:
G
F
A
B
D
C
E
F
A B C D E
G
Current:
F
Breadth-First Search
Queue:
G
A
B
D
C
E
F
A B C D E F
G
Current:
F
Breadth-First Search
Queue:
G
A
B
D
C
E
F
A B C D E F
G
Current:
G
Breadth-First Search
Queue:
A
B
D
C
E
F
A B C D E F G
G
Current:
G
Breadth-First Search
A
B
D
C
E
F
A B C D E F G
G
Time and Space Complexity
for Breadth-First Search Alg.

Time Complexity
– Consider each node twice
when put on queue
 when taken from queue

O(n)
Time and Space Complexity
for Breadth-First Search Alg.

Space Complexity
– Queue to handle unexplored nodes

Queue length = width of lowest level
 O(n)
(n/2)