Optimal Binary Search Trees with Costs Depending on the Access Paths
Jayme Szwarcfiter, Gonzalo Navarro, Ricardo Baeza-Yates,
Joísa de S. Oliveira, Walter Cunto and Nivio Ziviani.
We describe algorithms for constructing optimal binary search trees, in which
the access cost of a key depends on the k preceding keys which were
reached in the path to it. This problem has applications to searching on
secondary memory and robotics. Two kinds of optimal trees are considered, namely
optimal worst case trees and weighted average case trees. The time and space
complexities of both algorithms are O(n^(k+2)) and O(n^(k+1))
respectively. The algorithms are based on a convenient decomposition and
characterizations of sequences of keys which are paths of special kinds in
binary search trees. Finally, using generating functions, we present an exact
analysis of the number of steps performed by the algorithms.