
The structure of a Mathematical Tree
Alright, it's time to understand how a Behavior Tree works. First of all, as the name suggests, it is a tree, mathematical speaking.
It is important to specify that a (mathematical) tree expresses relationships between nodes. In this sense, the same relationship that describes a family (e.g. parent, child, sibling) has been adopted in technical terms. To simplify the understanding of a tree, you can imagine your genealogical tree: each node is a person, and the branches (that connect people) are the relationships between the various people. However, the structure is still slightly different.
So, what is a tree? It is a graph that describes relationships between different nodes.
In particular, there is a "Root" node, which is the only node without a parent. From there, every node can have one or more children, but only one parent. The end nodes, which are the ones that do not have any child, are called leaves. Here is a simple diagram to help you understand the basic structure of a Mathematical Tree in general:

It might sound complicated, but it really isn't. Things will start getting interesting as we move on and talk about BehaviorTrees.