You are on page 1of 37

# Trees

Trees
Definition: Let be a set, and let be a relation on .
We say that is a tree if there is a vertex 0 in with
the property that
1) there exists a unique path in from 0 to every
other vertex in ,
2) no path from 0 to 0 .

## Definition: 0 is called the root of the tree, and T is

referred to as a rooted tree denoted by , 0 .

## S. Turaev, CSC 1700 Discrete Mathematics 2

Trees
Theorem: Let , 0 be a rooted tree. Then

## 3. Each vertex in , other than 0 ,

has in-degree one, and 0 has in-degree zero.

## S. Turaev, CSC 1700 Discrete Mathematics 3

Levels, Parent-Offspring, Siblings
Level 1 vertices: the vertices of
the edges beginning at 0 (level 0)
1
Level vertices: the vertices of the
edges beginning at those level 1
vertices
2 3 4
Height of a tree: the largest level number
of a tree

## 6 Parent-offspring: for all pairs (, ) in ,

5
is called the parent of and is called
the offspring of

## 7 Siblings: the vertices that have the same

parent
Leaves: the vertices that have no
offspring
S. Turaev, CSC 1700 Discrete Mathematics 4
Levels, Parent-Offspring, Siblings

Root 1 Level 0

Parent
2 3 4 Level 1

Leaf Height 3
Siblings
5 6 Level 2

Child /
Offspring
7 Level 3

## S. Turaev, CSC 1700 Discrete Mathematics 5

Trees
Theorem: Let , 0 be a rooted tree. Then

is irreflexive

is asymmetric

## If , in and , in , then , is not

in , for all , and in .

## S. Turaev, CSC 1700 Discrete Mathematics 6

Trees
Example: Let = 1 , 2 , 3 , , 10 and let

2 , 3 , 2 , 1 , 4 , 5 , 4 , 6 ,
=
5 , 8 , 6 , 7 , 4 , 2 , 7 , 9 , 7 , 10

## S. Turaev, CSC 1700 Discrete Mathematics 7

-trees
Definition:
If is a positive integer, we say that a tree is an -
tree if every vertex has at most offspring.
A 2-tree is called a binary tree.

Definition:
If all vertices of , other than the leaves, have
exactly offspring, we say that is a complete
-tree.
A complete 2-tree is called a completed binary tree.

## S. Turaev, CSC 1700 Discrete Mathematics 8

Subtrees
Let , 0 be a rooted tree on the set , and let
be a vertex of .

## Let be the set consisting of and all its

descendants, i.e., all vertices of that can be reached
by a path beginning at .

that is ( ).

## Delete all vertices that are not descendants of and all

edges that do not begin and end at any such vertex.

## S. Turaev, CSC 1700 Discrete Mathematics 9

Subtrees
Theorem: If , 0 is a rooted tree and in , then
is also a rooted tree with root .

0

1 2 3

4 5

## S. Turaev, CSC 1700 Discrete Mathematics 10

Subtrees
Theorem: If , 0 is a rooted tree and in , then
is also a rooted tree with root .

0

4 5

## S. Turaev, CSC 1700 Discrete Mathematics 11

Exercises
Exercise 1: Determine if is a tree and, if it is, find the
root.

= , , , ,
= , , , , , , ,

= 1, 2, 3, 4, 5, 6
= 2,1 , 3,4 , 5,2 , 6,5 , 6,3

## S. Turaev, CSC 1700 Discrete Mathematics 12

Exercises
Exercise 2: Consider the rooted tree , 0 .

1 2 3

4 5 6 7 8 9

11 12 13 14

10 15

## S. Turaev, CSC 1700 Discrete Mathematics 13

Exercises
Exercise 2: Consider the rooted tree , 0 .
1. List all level-3 vertices
2. List all leaves
3. What are the siblings of 8?
4. What are the descendants of 3?
5. Compute 2
6. Compute 3
7. What is the height of , 0 ?

## S. Turaev, CSC 1700 Discrete Mathematics 14

Labeled Trees
Example: Use a tree to denote the following algebraic
expression
3 2 + 2 3 +
+

- -

x - +

2 b b 2 3 b

## S. Turaev, CSC 1700 Discrete Mathematics 15

Labeled Trees
Example: Use a tree to denote the following algebraic
expression

3 1 4 + 7 + 2 7 +

## S. Turaev, CSC 1700 Discrete Mathematics 16

Labeled Trees
Positional -tree:

## positional -tree: label the offspring of a given

vertex from left to right with numbers 1,2, ,

missing

## S. Turaev, CSC 1700 Discrete Mathematics 17

Labeled Trees
Example: positional 3-tree:

2 3

1 2 1 3

3 3
1 2 3

1 2 3

## S. Turaev, CSC 1700 Discrete Mathematics 18

Labeled Trees
Example: positional 2-tree:

L R

R L R

R L L R

## S. Turaev, CSC 1700 Discrete Mathematics 19

Tree Searching
Visiting
Performing appropriate tasks at a vertex will be
called visiting the vertex.

Tree search
The process of visiting each vertex of a tree in some
specific order will be called searching the tree or
performing a tree search.

## S. Turaev, CSC 1700 Discrete Mathematics 20

Tree Searching
Algorithm PREORDER

Step 1: Visit

,

,

## S. Turaev, CSC 1700 Discrete Mathematics 21

Tree Searching
Example 1 A

B H

C E I K

3 5 6 9 11
2 D F G 10 L
4 8 J

1 7

A B C D E F G H I J K L

## S. Turaev, CSC 1700 Discrete Mathematics 22

Tree Searching
Example 2: + /

- +

/
a c
b
2 3 5
d e
1 7 8
6
4

- a b + c / d e
S. Turaev, CSC 1700 Discrete Mathematics 23
Tree Searching
Prefix or Polish form:
+ / ( = 6, = 4, = 5, = 2, = 2)

1. 6 4 + 5 / 2 2
2. 2 + 5 / 2 2 replacing 6 4 by 2 since 6 4 = 2
3. 2 + 5 1 replacing / 2 2 by 1 since 2/2 = 1
4. 2 6 replacing + 5 1 by 6 since 5 + 1 = 6
5. 12 replacing 2 6 by 12 since
2 6 = 12
S. Turaev, CSC 1700 Discrete Mathematics 24
Tree Searching
Algorithm INORDER

## S. Turaev, CSC 1700 Discrete Mathematics 25

Tree Searching
Algorithm POSTORDER

## S. Turaev, CSC 1700 Discrete Mathematics 26

Tree Searching
Example: Traveling the tree using INORDER and
POSTORDER
+ /

INORDER: + /

- + POSTORDER: / +
/
a c
b

d e

## S. Turaev, CSC 1700 Discrete Mathematics 27

Tree Searching
Infix notation: Algebraic symbols lie between their
arguments
+ /

( ) ( + (/))

or
( ( + /))

## S. Turaev, CSC 1700 Discrete Mathematics 28

Tree Searching
Postfix or reverse Polish:
/ + ( = 2, = 1, = 3, = 4, = 2)

1. 2 1 3 4 2 / +

## 5. 5 replacing 1 5 with 5 since 1 5 =5

S. Turaev, CSC 1700 Discrete Mathematics 29
Exercises
Show the result of performing a preorder search of the
tree
x

y z

t
s
u

## S. Turaev, CSC 1700 Discrete Mathematics 30

Exercises
Show the result of performing an inorder search of the
tree
x

y z

t
s
u

## S. Turaev, CSC 1700 Discrete Mathematics 31

Exercises
Show the result of performing a postorder search of the
tree
x

y z

t
s
u

## S. Turaev, CSC 1700 Discrete Mathematics 32

Exercises
Show the result of performing preorder, inorder and
postorder searches of the tree

, , , , , , , , , , , ,
=
, , , , , , ,

## S. Turaev, CSC 1700 Discrete Mathematics 33

Exercises
Show the result of performing preorder, inorder and
postorder searches of the tree

## S. Turaev, CSC 1700 Discrete Mathematics 34

Exercises
Evaluate the expressions, which are given in Polish, or
prefix, notation

+ 3 4 7 2 12 3 6 4

3 2 4 3 + 15 2 6 3

## S. Turaev, CSC 1700 Discrete Mathematics 35

Exercises
Evaluate the expressions, which are given in reverse
Polish, or postfix, notation

43254253

374 9652+

## S. Turaev, CSC 1700 Discrete Mathematics 36

Exercises
Draw a binary tree whose preorder search produces

JBACDIHEGF

CATSANDDOGS

SEARCHING

TREEHOUSE