We haven't really sold recursion as a concept at this point. We kind of get it, but are probably not convinced why good old while or for loops can't be used in its place. Recursion shines when it solves problems that look like a reoccurring pattern. An example of that is a tree. A tree has some similar concepts to it such as consisting of nodes. A node without children connected to it is called a leaf. A node with children but that has no connection to an upward node is called a root node. Let's illustrate this with a diagram:
There are a few interesting operations that we would want to carry out on a tree:
- Summarise the ...