b first bin tree trav alg

28
Alyce Brady Alyce Brady CS 470: Data Structures CS 470: Data Structures CS 510: Computer CS 510: Computer Algorithms Algorithms Breadth-First Binary Tree Traversal Algorithm

Upload: joe-manley

Post on 21-Jul-2016

22 views

Category:

Documents


2 download

DESCRIPTION

Binary Tree Traversal

TRANSCRIPT

Page 1: b First Bin Tree Trav Alg

Alyce BradyAlyce BradyCS 470: Data StructuresCS 470: Data Structures

CS 510: Computer Algorithms CS 510: Computer Algorithms

Breadth-FirstBinary Tree

Traversal Algorithm

Page 2: b First Bin Tree Trav Alg

Reminder:Breadth-First Traversal

A

B C

D E F G

A B C D E F G

Page 3: b First Bin Tree Trav Alg

Pseudo-Code forBreadth-First Traversal

breadth-first-traversalbreadth-first-traversalput root node onto a queueput root node onto a queuewhile the queue is not emptywhile the queue is not empty

dequeue the next nodedequeue the next nodevisit the nodevisit the node e.g., print valuee.g., print value

enqueue the left child nodeenqueue the left child nodeenqueue the right child nodeenqueue the right child node

Page 4: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

A B C D E F G

Queue:

Current:

Page 5: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

A

Page 6: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

A

A

Page 7: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:A

A

Page 8: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

B

A

A

Page 9: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

CB

A

A

Page 10: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:B

A

CB

Page 11: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:B

C

A B

Page 12: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

DC

B

A B

Page 13: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:

EDC

B

A B

Page 14: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:C

EDC

A B

Page 15: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:C

A B C

ED

Page 16: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:C

A B C

FED

Page 17: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:C

A B C

GFED

Page 18: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:D

A B C

GFED

Page 19: b First Bin Tree Trav Alg

A B C D

Breadth-First Search

A

B C

D E F G

Queue:

Current:D

GFE

Page 20: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

A B C D

Queue:

Current:E

GFE

Page 21: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:E

GF

A B C D E

Page 22: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:F

GF

A B C D E

Page 23: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:F

G

A B C D E F

Page 24: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:G

G

A B C D E F

Page 25: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

Queue:

Current:G

A B C D E F G

Page 26: b First Bin Tree Trav Alg

Breadth-First Search

A

B C

D E F G

A B C D E F G

Page 27: b First Bin Tree Trav Alg

Time and Space Complexityfor Breadth-First Search Alg.

Time ComplexityTime Complexity– Consider each node twiceConsider each node twice O(n)O(n)

when put on queuewhen put on queue when taken from queuewhen taken from queue

Page 28: b First Bin Tree Trav Alg

Space ComplexitySpace Complexity– Queue to handle unexplored nodesQueue to handle unexplored nodes

Queue length = width of lowest levelQueue length = width of lowest level (n/2)(n/2) O(n)O(n)

Time and Space Complexityfor Breadth-First Search Alg.