lecture 16: tree traversal. introduction tree traversals abejknopfcdglmhi preorder jenkopbfaclgmdhi...

18
Lecture 16: Tree Traversal

Upload: maximilian-small

Post on 16-Dec-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Lecture 16:

Tree Traversal

Page 2: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Introduction

Page 3: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Tree Traversals

abejknopfcdglmhi

PREORDER

jenkopbfaclgmdhi

INORDER

jhopkefbclmghida

POSTORDER

Page 4: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Tree Traversal Algorithms

Ordered tree traversals are based on the depth-first graph traversal. The structure of all depth-first tree traversals are the same. The diffence is in when each node is evaluated.

function traverse(node: X){ for (all child nodes Y) { traverse(Y) }}

Page 5: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Permutation Tree for Four Elements

Page 6: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Simple Maze Solving as Tree Traversal

Page 7: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

List Representation of a Binary Tree

Page 8: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Edge List Representations of a Tree

Page 9: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Dynamic Memory Representations of a Tree

Page 10: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

A General Tree in Dynamic Memory

Page 11: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Data-Tag-Next

Page 12: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Example: Breadth-First Traversal

Page 13: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Breadth-First Traversal of a Treesample Ada Code

Page 14: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Depth-First Traversal - Binary Dreet

Page 15: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Depth-First Traversal of a Tree

Page 16: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Implementing Depth-First Traversals

PREORDER INORDER POSTORDER

Page 17: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Watching the Stack

Page 18: Lecture 16: Tree Traversal. Introduction Tree Traversals abejknopfcdglmhi PREORDER jenkopbfaclgmdhi INORDER jhopkefbclmghida POSTORDER

Summary

DFT Tree TraversalsPre-orderIn-orderPost-order

Permutation Trees

Simple Maze as a Tree

List Representation of a Binary Tree

Edge List Representation of a Tree

Trees in Dynamic Memory

Data-Tag-Next: a general tree node

Breadth-First TraversalsUsually on Permutation TreesIterative with a Queue

Depth-First TraveralsUsed mostly for search and sortRecursive with a Stack