Computer Science 112

1 / 38

# Computer Science 112 - PowerPoint PPT Presentation

Computer Science 112. Fundamentals of Programming II Introduction to Trees. Each item has at most one predecessor Each item can have many successors. What Is a Tree?. Start with a single node, called the root. What Is a Tree?. Root node. Start with a single node, called the root

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Computer Science 112' - doctor

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Computer Science 112

Fundamentals of Programming II

Introduction to Trees

Eachsuccessor node is a child or daughter node

What Is a Tree?

Root

node

Daughters of root node

Nodes without successors are called leaf nodes

The set of leaf nodes is the frontier

What Is a Tree?

Root

node

Leaf nodes (the frontier)

Predecessors are also called ancestors

The immediate predecessor is called the parent

What Is a Tree?

Root

node

X

Ancestors of node X

Levels in a tree are numbered from 0What Is a Tree?

Root

node

Level 0

Level 1

Level 2

Level 3

There are three nodes in level 3

Trees as Recursive Data Structures
• A tree is either
• empty, or
• consists of a node containing
• a datum
• one or more subtrees

Each subtree is itself another tree

Tree Traversals
• We’d like to visit each data item in a tree
• Are the items randomly ordered, as in a bag or set?
• Think of visiting the data in a node, and its left and right subtrees, in some order
Preorder Traversal

D

Order of nodes visited:

D

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B A

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B A C

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B A C F

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B A C F E

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Preorder Traversal

D

Order of nodes visited:

D B A C F E G

B

F

G

A

E

C

Visit the data

Visit the left subtree

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B C

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B C D

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B C D E

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B C D E F

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Inorder Traversal

D

Order of nodes visited:

A B C D E F G

B

F

G

A

E

C

Visit the left subtree

Visit the data

Visit the right subtree

Postorder Traversal

D

Order of nodes visited:

A

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C B

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C B E

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C B E G

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C B E G F

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Postorder Traversal

D

Order of nodes visited:

A C B E G F D

B

F

G

A

E

C

Visit the left subtree

Visit the right subtree

Visit the data

Level Order Traversal

D

Order of nodes visited:

D B F A C E G

B

F

G

A

E

C

For each level

Visit data from left to right

Tree Applications
• File directories
• Processing sentences (computer programs or natural languages)
• Searchable data structures
• Heaps (implement heap sort, priority queues)

### For Wednesday

Binary Search Trees