17 Trees Slides
17 Trees Slides
Lecture 17
(rooted) trees
Oct. 19, 2016
graph
Child 1
Child 2
Child 3
dad
mom
moms
mom
moms
dad
dads
mom
dads
dad
Tree Terminology
root
node, vertex
(directed) edge
root
parent
child
Every node except the root is a child, and has exactly one parent.
8
N-1
parent
siblings
12
internal nodes
external nodes
(leaf)
(e.g. files)
14
A path in a tree is a
sequence of nodes
( , ,, ) such
that ( ,
) is an
edge.
The length of a
path is the
number of edges
(number of
nodes 1)
15
16
ancestor
descendent
17
0
1
2
3
4
18
depth (level)
0
1
2
3
4
19
depth( v ){
if ( v.parent == null) //root
return 0
else
return 1 + depth( v.parent )
}
20
?
2
21
?
1
22
2
1
23
24
4
2
height(v){
if (v is a leaf)
return 0
else{
h=0
for each child w of v
h = max(h, height(w))
return 1 + h
}
}
25
}
26
TreeNode<T>
children;
parent;
27
28
29
30
T element;
TreeNode<T> firstChild;
TreeNode<T> nextSibling;
:
:
class Tree<T>{
TreeNode<T> root;
:
:
}
31