While working on a math problem the following tree structure came up:
o
\
o
/
o
/ \
o o
/ \ /
It is a binary tree with the following constraints:
- all nodes except the root have a left child
- all left-child nodes have a right child
- none of the right-child nodes have a right-child
It also has the following emerging properties:
- The nodes are indexable:
- the root node has index
0
- for a given node indexed
n
, its left child has index2n
and right childn + 1
- the root node has index
0
\
1
/
2
/ \
4 3
/ \ /
8 5 6
- the number of edges at each level matches the fibonacci sequence:
o
\ 1
o
/ 1
o
/ \ 2
o o
/ \ / 3 // Then will be 5, 8 etc...
I would like to know more about this specific kind of tree, for example other emerging properties, what kind of problem it can help to solve or how is it typically used, but despite this seeming like a basic data structure I can't find any information on it. Searching for "fibonacci restricted tree" yields unrelated results such as Fibonacci Heaps.
Questions:
- Is there an accepted name for this specific kind of binary tree?
- What are some examples of usage of this kind of tree in computer science?