Trees consist of vertices (nodes) and edges that connect them. Unlike the linear data structures that we have studied so far, trees are hierarchical. They are similar to Graphs, except that a cycle cannot exist in a Tree - they are acyclic. In other words, there is always exactly one path between any two nodes.
- Root Node: The topmost node in a tree.
- Child Node: A node that has a parent node.
- Parent Node: A node that has one or more child nodes.
- Sibling Nodes: Nodes that share the same parent node.
- Leaf Node: A node that does not have any child nodes.
- Ansistor Node: A node that is a predecessor of a given node.
- Subtree: A tree formed by a node and its descendants.
