Tree
- Basic Concepts
- Binary Trees
- Binary Search Trees
Basic Concepts
A tree is a collection of nodes
- The collection can be empty
- (recursive definition) If not empty, a tree consists of a distinguished node r (the root), and zero or more nonempty subtrees
, each of whose roots are connected by a directed edge from root
Concept
- Root and Leaf
- Child and Parent
- Every node except the root has one parent
- A node can have an zero or more children
- A leaf node has no children
- Sibling nodes with same parent
Path
- a sequence of edges
Length of a path Depth of a node
- length of the unique path to the root
Height of a node
- length of the longest path to a leaf
Tree height
- the height of the root
- the depth of the deepest leaf
Ancestor and descendant
- If there is a path from n1 to n2
- n1 is an ancestor of n2, n2 is a descendant of n1
- Proper ancestor and proper descendant
Perfect Binary Tree
A perfect binary tree is the tree where a node can have 0 or 2 children and all leaves are at the same depth
