
664 P Predecessor Search
is an interval stabbing query, which is equivalent to pre-
decessor search in the static case [9]. As this is a prob-
lem where efficiency really matters, it is important to note
that the fastest deployed software solutions [7]useinte-
ger search strategies (not comparison-based), as theoreti-
cal results would predict.
In addition, predecessor search is used pervasively in
data structures, when reducing problems to rank space.
Given a set T, one often wants to relabel it to the simpler
f1;:::;ng (“rank space”), while maintaining order rela-
tions. If one is presented with new values dynamically, the
need for a predecessor query arises. Here are a couple of
illustrative examples:
In orthogonal range queries, one maintains a set of
points in U
d
, and queries for points in some rectan-
gle [a
1
; b
1
] [a
d
; b
d
]. Though bounds typically
grow exponentially with the dimension, the depen-
dence on the universe can be factored out. At query
time, one first runs 2d predecessor queries transform-
ing the universe to f1;:::;ng
d
.
To make pointer data structures persistent [8], an out-
going link is replaced by a vector of pointers, each valid
for some period of time. Deciding which link to follow
(given the time being queried) is a predecessor prob-
lem.
Finally, it is interesting to note that the lower bounds
for predecessor hold, by reductions, for all applications
described above. To make these reductions possible, the
lower bounds are in fact shown for the weaker colored pre-
decessor problem. In this problem, the values in T are col-
ored red or blue, and the query only needs to find the color
of the predecessor.
Open Problems
It is known [2] how to implement fusion trees with AC
0
in-
structions, but not the other query strategies. What is the
best query trade-off achievable on the AC
0
RAM? In par-
ticular, can van Emde Boas search be implemented with
AC
0
instructions?
For the dynamic problem, can the update times be
made deterministic? In particular, can van Emde Boas
search be implemented with fast deterministic updates?
This is a very appealing problem, with applications to de-
terministic dictionaries [14]. Also, can fusion nodes be up-
dated deterministically in constant time? Atomic heaps
[11] achieve this when searching only among (lg n)
"
ele-
ments, not b
"
.
Finally, does an update to the predecessor structure re-
quire a query? In other words, can t
u
= o(t
q
)beobtained,
while still maintaining efficient query times?
Cross References
Cache-Oblivious B-Tree
O(log log n)-competitive Binary Search Tree
Recommended Reading
1. Ajtai, M.: A lower bound for finding predecessors in Yao’s cell
probe model. Combinatorica 8(3), 235–247 (1988)
2. Andersson, A., Miltersen, P.B., Thorup, M.: Fusion trees can be
implemented with AC
0
instructions only. Theor. Comput. Sci.
215(1–2), 337–344 (1999)
3. Andersson, A., Thorup, M.: Dynamic ordered sets with expo-
nential search trees. CoRR cs.DS/0210006. See also FOCS’96,
STOC’00, 2002
4. Beame, P., Fich, F.E.: Optimal bounds for the predecessor prob-
lem and related problems. J. Comput. Syst. Sci. 65(1), 38–72
(2002). See also STOC’99
5. Brodnik, A., Carlsson, S., Fredman, M.L., Karlsson, J., Munro, J.I.:
Worst case constant time priority queue. J. Syst. Softw. 78(3),
249–256 (2005). See also SODA’01
6. Chakrabarti, A., Regev, O.: An optimal randomised cell probe
lower bound for approximate nearest neighbour searching. In:
Proc. 45th IEEE Symposium on Foundations of Computer Sci-
ence (FOCS), 2004, pp. 473–482
7. Degermark, M., Brodnik, A., Carlsson, S., Pink, S.: Small forward-
ing tables for fast routing lookups. In: Proc. ACM SIGCOMM,
1997, pp. 3–14
8. Driscoll, J.R., Sarnak, N., Sleator, D.D., Tarjan, R.E.: Making data
structurespersistent.J.Comput.Syst.Sci.38(1), 86–124 (1989).
See also STOC’86
9. Feldmann, A., Muthukrishnan, S.: Tradeoffs for packet classifi-
cation. In: Proc. IEEE INFOCOM, 2000, pp. 1193–1202
10. Fredman, M.L., Willard, D.E.: Surpassing the information theo-
retic bound with fusion trees. J. Comput. Syst. Sci. 47(3), 424–
436 (1993). See also STOC’90
11. Fredman, M.L., Willard, D.E.: Trans-dichotomous algorithms for
minimum spanning trees and shortest paths. J. Comput. Syst.
Sci. 48(3), 533–551 (1994). See also FOCS’90
12. Miltersen, P.B.: Lower bounds for Union-Split-Find related
problems on random access machines. In: 26th ACM Sympo-
sium on Theory of Computing (STOC), 1994, pp. 625–634
13. Miltersen, P.B., Nisan, N., Safra, S., Wigderson, A.: On data struc-
tures and asymmetric communication complexity. J. Comput.
Syst. Sci. 57(1), 37–49 (1998). See also STOC’95
14. Pagh, R.: A trade-off for worst-case efficient dictionaries. Nord.
J. Comput. 7, 151–163 (2000). See also SWAT’00
15. P
˘
atra¸scu, M., Thorup, M.: Time-space trade-offs for predecessor
search. In: Proc. 38th ACM Symposium on Theory of Comput-
ing (STOC), 2006, pp. 232–240
16. P
˘
atra¸scu, M., Thorup, M.: Randomization does not help search-
ing predecessors. In: Proc. 18th ACM/SIAM Symposium on Dis-
crete Algorithms (SODA), 2007
17. Sen, P., Venkatesh, S.: Lower bounds for predecessor search-
ing in the cell probe model. arXiv:cs.CC/0309033. See also
ICALP’01, CCC’03, 2003
18. van Emde Boas, P., Kaas, R., Zijlstra, E.: Design and imple-
mentation of an efficient priority queue. Math. Syst. Theor.
10, 99–127 (1977). Announced by van Emde Boas alone at
FOCS’75