For which optimization problems are (abstract) trees the best solution?
E.g. binary search trees are somehow optimal data structures for quick search.
But why for example do botanic trees grow as they grow?
More examples are welcome! (not necessarily optimization problems)
Binary search trees are not the optimal data structures for efficient searching in some models of computation. Generally it is when you want dynamic data structures supporting insert and delete that balanced binary trees are usually able to provide good worst-case guarantees. As for botanic trees, a largely recursive structure can be described using very little information, and it may be a partial reason why many structures in nature are recursive and often tree-like.