## Basic trees

Let's start with introducing trees. What are they? Do you have any ideas about how such a data structure should look? If not, let's take a look at the following diagram, which depicts a tree with captions regarding its particular elements:

A tree consists of multiple **nodes**, including one **root** (**100** in the diagram). The root does not contain a **parent** node, while all other nodes do. For example, the parent element of node **1** is **100**, while node **96** has node **30** as the **parent**. Moreover, each node can have any number of **child** nodes, such as three **children** (that is, **50**, **1**, and **150**) in the case of the **root**. The child nodes of the same node can be named **siblings**, as in the case of nodes **70** and **61**. A node without children is named a **leaf**, such as **45** and **6** in the diagram. Take a look at the rectangle with three nodes (that is, **30**, **96**, and **9**). Such a part of the tree can be called a **subtree**. Of course, you can find many subtrees in the tree.

Let's briefly talk about the minimum and maximum numbers...