Skip to main content

Predecessor Search, String Algorithms and Data Structures

  • Reference work entry
  • First Online:
Encyclopedia of Algorithms
  • 137 Accesses

Years and Authors of Summarized Original Work

  • 1975; Van Emde Boas

  • 1993; Fredman, Willard

  • 2002; Beame, Fich

  • 2006; PÇŽtraÅŸcu, Thorup

  • 2007; Andersson, Thorup

  • 2014; PÇŽtraÅŸcu, Thorup

Problem Definition

Given a set S of n keys from the set [1…2ℓ], the goal of predecessor search is to return, given a key y ∈ [1…2ℓ], the largest key x ∈ S such that x ≤ y. We have the following models:

Comparison model

Balanced binary search trees [1, 6] can solve the problem in optimal O(logn) time in the comparison model, in which the key can only be manipulated through comparisons with each other.

External memory model

In this model, it is assumed that the data is read and written into blocks of B elements (integers in our case) and the cost of a query or algorithm is the number of read or written blocks. In this model, B-trees [7] can solve the problem in O(log B n) time and O(n) space.

RAM model

This is the main subject of study. The model assumes that all standard arithmetic and logic operations (including...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. Georgy Adelson-Velsky G, Landis E M (1962) An algorithm for the organization of information. Proc USSR Acad Sci (in Russian) 146:263–266. English translation by Myron J Ricci in Sov Math Dokl 3:1259–1263 (1962)

    Google Scholar 

  2. Ajtai M, Fredman M, Komlós J (1984) Hash functions for priority queues. Inf Control 63(3):217–225

    Article  MathSciNet  MATH  Google Scholar 

  3. Alstrup S, Brodal GS, Rauhe T (2001) Optimal static range reporting in one dimension. In: Proceedings of the thirty-third annual ACM symposium on theory of computing, Heraklion. ACM, pp 476–482

    Chapter  Google Scholar 

  4. Andersson A, Thorup M (2007) Dynamic ordered sets with exponential search trees. J ACM (JACM) 54(3):13

    Article  MathSciNet  MATH  Google Scholar 

  5. Andersson A, Hagerup T, Nilsson S, Raman R (1998) Sorting in linear time? J Comput Syst Sci 57:74–93

    Article  MathSciNet  MATH  Google Scholar 

  6. Bayer R (1972) Symmetric binary b-trees: data structure and maintenance algorithms. Acta Inform 1(4):290–306

    Article  MathSciNet  MATH  Google Scholar 

  7. Bayer R, McCreight EM (1972) Organization and maintenance of large ordered indexes. Acta Inform 1:173–189

    Article  MATH  Google Scholar 

  8. Beame P, Fich FE (2002) Optimal bounds for the predecessor problem and related problems. J Comput Syst Sci 65(1):38–72

    Article  MathSciNet  MATH  Google Scholar 

  9. Belazzougui D, Navarro G (2012) New lower and upper bounds for representing sequences. In: Algorithms–ESA 2012, Ljubljana. Springer, pp 181–192

    Chapter  Google Scholar 

  10. Chan TM, Pătraşcu M (2010) Counting inversions, offline orthogonal range counting, and related problems. In: Proceedings of the twenty-first annual ACM-SIAM symposium on discrete algorithms, Austin. Society for Industrial and Applied Mathematics, pp 161–173

    Chapter  Google Scholar 

  11. Fredman ML, Willard DE (1993) Surpassing the information theoretic bound with fusion trees. J Comput Syst Sci 47(3):424–436

    Article  MathSciNet  MATH  Google Scholar 

  12. Mortensen CW, Pagh R, Pǎtraşcu M (2005) On dynamic range reporting in one dimension. In: Proceedings of the thirty-seventh annual ACM symposium on theory of computing, Baltimore. ACM, pp 104–111

    Google Scholar 

  13. Pǎtraşcu M, Thorup M (2006) Time-space trade-offs for predecessor search. In: Proceedings of the thirty-eighth annual ACM symposium on theory of computing, San Diego. ACM, pp 232–240

    Google Scholar 

  14. Pǎtraşcu M, Thorup M (2007) Randomization does not help searching predecessors. In: Proceedings of the eighteenth annual ACM-SIAM symposium on discrete algorithms, New Orleans. Society for Industrial and Applied Mathematics, pp 555–564

    Google Scholar 

  15. PÇŽtraÅŸcu M, Thorup M (2014) Dynamic integer sets with optimal rank, select, and predecessor search. In: Proceedings of of the 55th annual IEEE symposium on foundations of computer science, Philadelphia. arXiv preprint arxiv:1408.3045

    Google Scholar 

  16. Sen P, Venkatesh S (2008) Lower bounds for predecessor searching in the cell probe model. J Comput Syst Sci 74:364–385

    Article  MathSciNet  MATH  Google Scholar 

  17. van Emde Boas P (1975) Preserving order in a forest in less than logarithmic time. In: FOCS, Berkeley, pp 75–84

    Google Scholar 

  18. van Emde Boas P (1977) Preserving order in a forest in less than logarithmic time and linear space. Inf Process Lett 6(3):80–82

    Article  MATH  Google Scholar 

  19. van Emde Boas P, Kaas R, Zijlstra E (1976) Design and implementation of an efficient priority queue. Math Syst Theory 10(1):99–127

    Article  MathSciNet  MATH  Google Scholar 

  20. Willard DE (1983) Log-logarithmic worst-case range queries are possible in space Θ(n). Inf Process Lett 17(2):81–84

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Djamal Belazzougui .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Belazzougui, D. (2016). Predecessor Search, String Algorithms and Data Structures. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_632

Download citation

Publish with us

Policies and ethics