optimal binary search tree (Optimal BST), sometimes called a weight-balanced binary tree which provides the smallest possible search time or a given sequence of accesses (or access probabilities).
Optimal BSTs are generally divided into two types: static and dynamic
In the static optimality problem, the tree cannot be modified after it has been constructed
in the dynamic optimality problem, the tree can be modified at any time.
reference https://en.wikipedia.org/wiki/Optimal_binary_search_tree