Discrete Mathematics
Chapter 5
Trees
7.1 Introduction
Tree
A
tree
is a connected undirected graph that
contains no circuits.
Recall: A
circuit
is a path of length >=1 that begins and
ends a the same vertex.
Free tree
A
(free) tree
T is
A simple graph
such that for
every pair of
vertices v and w
there is a unique
path from v to w
Rooted tree
A
rooted tree
is a tree
where one of its vertices is
designated the
root
Level of a vertex and tree height
Let T be a rooted tree:
The
level l(v)
of a vertex
v
is
the length of the simple path
from
v
to the root of the tree
The
height h
of a rooted tree T
is the maximum of all level
numbers of its vertices:
h
= max {
l(v)
}
v
V(T)
Example:
the tree on the right has height 3
7.2 Terminology
Root
The only node in
the tree with no
parent
Leaf
A node with no
children
Siblings
Nodes with a
common parent
Parent of node
n
The node directly
above node
n
in the
tree
Child of node n
A node directly
below node
n
in the
tree
Internal and terminal vertices
An
internal vertex
is a
vertex that has at least one
child
A
terminal
vertex is a
vertex that has no children
The tree in the example
has 4 internal vertices and
4 terminal vertices
7.5 Binary trees
A
binary tree
is a tree
where each vertex has
zero, one or two children
Full binary tree
A
full
binary tree is a
binary tree in which
each vertex has two
or no children.
Binary search trees
Data are associated to
each vertex
Order data alphabetically,
so that for each vertex v,
data to the
left
of v are
less than data in v
and data to the
right
of v
are greater than data in v
Example:
Number of
nodes=7
Number of
comparison=4
Element exists
Example:
Number of
nodes=7
Number of
comparison=3
Element exists
Example:
Key=15
Number of
nodes=7
Number of
comparison=4
Element isn’t
exists
Building trees:
Another example:
Operations on trees:
1)
Insert or add on tree.
2) Deletion.
7.6 Tree Traversals
1: Pre-order traversal
NLR
7.6 Tree Traversals
1: in-order traversal
LNR
More on tree traversals
3: Post-order traversal
LRN