Abstract
- Represent hierarchical structures such as File System Hierarchy, organisational charts, XML/HTML documents, and decision trees etc, consisting of nodes connected by Edge
Important
Tree is a Directed Acyclic Graph that is connected.
Adding an edge creates a Cycle, turning the graph into a Directed Cyclic Graph.
Removing an edge disconnects the graph.
Tree Components
Root Node
- Node without parent node
Null Node
- A node that
null
, acts a termination point for a branch of the Tree
Leaf Node
- Node without any child nodes
- Its 2 pointers point to Null Node
Edge
- The link created by Pointer that links up 2 nodes
Tree Properties
Level
- Increments from the top to bottom of the Binary Tree
- Root Node is at level 1
Degree
- The number of child nodes of a particular node
- In Binary Tree, it is 0, 1, 2
Depth
Important
In some questions or textbook, Tree Height and depth are defined based on the number of nodes traversed instead of Edge. In this case, we need to +1.
Tree Balance
Tree Height
Node Height
Balance Factor
- The difference in Tree Height between the left and right subtrees of a node
- A measure of how unbalanced the tree is at that node
Height-Balanced
- Tree Height of the two child subtrees of any node differ by at most ; no greater than and not smaller than . This means that the tree is relatively evenly distributed, and no one subtree is significantly taller than the others
Key benefit
This Balance Factor ensures that the time complexity of operations like insertion, deletion, and search remains , where is the number of nodes in the tree.
Minimum Spanning Tree
Important
One very famous algorithm used to find Minimum Spanning Tree is Prim’s algorithm - Wikipedia.