alyce brady cs 470: data structures cs 510: computer algorithms

48
Alyce Brady Alyce Brady CS 470: Data Structures CS 470: Data Structures CS 510: Computer CS 510: Computer Algorithms Algorithms Post-order Traversal: Post-order Traversal: Left Child - Right Child - Root Left Child - Right Child - Root Depth-First Search

Upload: marcy

Post on 11-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Depth-First Search. Post-order Traversal: Left Child - Right Child - Root. Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms. Post-order Traversal: Left Child - Right Child - Root. A. B. C. D. E. F. G. H. I. J. K. L. M. N. O. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Alyce BradyAlyce Brady

CS 470: Data StructuresCS 470: Data Structures

CS 510: Computer Algorithms CS 510: Computer Algorithms

Post-order Traversal:Post-order Traversal:

Left Child - Right Child - RootLeft Child - Right Child - Root

Depth-First Search

Page 2: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

Page 3: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

Page 4: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

Page 5: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

HH

Post-order Traversal:Left Child - Right Child - Root

Page 6: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

HH

Post-order Traversal:Left Child - Right Child - Root

Page 7: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

HH

Page 8: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H IH I

Page 9: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H IH I

Page 10: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I DH I D

Page 11: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I DH I D

Page 12: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I DH I D

Page 13: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I DH I D

Page 14: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D JH I D J

Page 15: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D JH I D J

Page 16: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D JH I D J

Page 17: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J KH I D J K

Page 18: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J KH I D J K

Page 19: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K EH I D J K E

Page 20: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K EH I D J K E

Page 21: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E BH I D J K E B

Page 22: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E BH I D J K E B

Page 23: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E BH I D J K E B

Page 24: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E BH I D J K E B

Page 25: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E BH I D J K E B

Page 26: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B LH I D J K E B L

Page 27: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B LH I D J K E B L

Page 28: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B LH I D J K E B L

Page 29: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L MH I D J K E B L M

Page 30: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L MH I D J K E B L M

Page 31: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M FH I D J K E B L M F

Page 32: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M FH I D J K E B L M F

Page 33: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M FH I D J K E B L M F

Page 34: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M FH I D J K E B L M F

Page 35: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F NH I D J K E B L M F N

Page 36: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F NH I D J K E B L M F N

Page 37: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F NH I D J K E B L M F N

Page 38: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N OH I D J K E B L M F N O

Page 39: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N OH I D J K E B L M F N O

Page 40: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N O GH I D J K E B L M F N O G

Page 41: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N O GH I D J K E B L M F N O G

Page 42: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N O G CH I D J K E B L M F N O G C

Page 43: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

A

B C

D E F G

H I J K L M N O

Post-order Traversal:Left Child - Right Child - Root

H I D J K E B L M F N O G CH I D J K E B L M F N O G C

Page 44: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Post-order Traversal:Left Child - Right Child - Root

A

B C

D E F G

H I J K L M N O

H I D J K E B L M F N O G C AH I D J K E B L M F N O G C A

Page 45: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Post-order Traversal:Left Child - Right Child - Root

A

B C

D E F G

H I J K L M N O

H I D J K E B L M F N O G C AH I D J K E B L M F N O G C A

Page 46: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Pseudo-Code forPost-order Traversal

post-traversepost-traverse

post-traverse left subtreepost-traverse left subtree

post-traverse right subtreepost-traverse right subtree

visit current nodevisit current node e.g., print valuee.g., print value

Page 47: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Time and Space Complexityfor Depth-First Search Algs.

Time ComplexityTime Complexity– Visit each node three timesVisit each node three times O(n)O(n)

first arrivalfirst arrival return from left childreturn from left child return from right childreturn from right child

Page 48: Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms

Space ComplexitySpace Complexity– Stack to handle recursionStack to handle recursion

Stack length = depth of treeStack length = depth of tree best case: lg nbest case: lg n worst case: nworst case: n O(n)O(n)

Time and Space Complexityfor Depth-First Search Algs.