Top Banner
Lecture 16: Tree Traversal
18

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

Dec 16, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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