Predecessor Search
Gonzalo Navarro and Javiel Rojas-Ledesma
The predecessor problem is a key component of the fundamental
sorting-and-searching core of algorithmic problems. While binary search
is the optimal solution in the comparison model, more realistic machine models
on integer sets open the door to a rich universe of data structures,
algorithms, and lower bounds. In this article we review the evolution of the
solutions to the predecessor problem, focusing on the important algorithmic
ideas, from the famous data structure of van Emde Boas [1977] to the optimal
results of Patrascu and Thorup [2014]. We also consider lower bounds, variants
and special cases, as well as the remaining open questions.