8.4 Trees and Graphs
Trees and graphs are non-linear data structures that are widely used to model relationships between various data. Trees, for instance, are very useful for representing hierarchical data such as family trees, computer file systems, and organization charts.
On the other hand, graphs can be used to model complex relationships between different entities such as social networks, transportation networks, and the internet. By using trees and graphs, we can represent data in more complex and meaningful ways than with simpler linear data structures like arrays, stacks, or queues.
8.4.1 Trees
A tree is a data structure that consists of a set of connected nodes, which are organized in a hierarchical manner. The first node or the topmost node is called the root node, and it is the starting point of the tree. From the root, there are additional nodes which may also have their child nodes. Nodes that do not have a parent are called roots, while nodes that do not have children...