Practical Range Minimum Queries Revisited

Authors Niklas Baumstark, Simon Gog, Tobias Heuer, Julian Labeit



PDF
Thumbnail PDF

File

LIPIcs.SEA.2017.12.pdf
  • Filesize: 0.67 MB
  • 16 pages

Document Identifiers

Author Details

Niklas Baumstark
Simon Gog
Tobias Heuer
Julian Labeit

Cite AsGet BibTex

Niklas Baumstark, Simon Gog, Tobias Heuer, and Julian Labeit. Practical Range Minimum Queries Revisited. In 16th International Symposium on Experimental Algorithms (SEA 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 75, pp. 12:1-12:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)
https://doi.org/10.4230/LIPIcs.SEA.2017.12

Abstract

Finding the position of the minimal element in a subarray A[i..j] of an array A of size n is a fundamental operation in many applications. In 2011, Fischer and Heun presented the first index of size 2n+o(n) bits which answers the operation in constant time for any subarray. The index can be computed in linear time and queries can be answered without consulting the original array. The most recent and currently fastest practical index is due to Ferrada and Navarro (DCC'16). It reduces the range minimum query (RMQ) to more fundamental and well studied queries on binary vectors, namely rank and select, and a RMQ query on an array of sublinear size derived from A. A range min-max tree is employed to solve this recursive RMQ call. In this paper, we review their practical design and suggest a series of changes which result in consistently faster query times. Specifically, we provide a customized select implementation, switch to two levels of recursion, and use the sparse table solution for the recursion base case instead of a range min-max tree. We provide an extensive empirical evaluation of our new implementation and also compare it to the state of the art. Our experimental study shows that our proposal significantly outperforms the previous solutions on established benchmarks (up to a factor of three) and furthermore accelerates real world applications such as traversing a succinct tree or listing all distinct elements in an interval of an array.
Keywords
  • Succinct Data Structures
  • Range Minimum Queries
  • Algorithm Engineering

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. D. Arroyuelo, R. Cánovas, G. Navarro, and K. Sadakane. Succinct trees in practice. In Proc. ALENEX, pages 84-97. SIAM, 2010. Google Scholar
  2. M. Bender and M. Farach-Colton. The LCA problem revisited. In Proc. LATIN, pages 88-94. Springer, 2000. Google Scholar
  3. O. Berkman and U. Vishkin. Recursive star-tree parallel data structure. SIAM Journal on Computing, 22(2):221-242, 1993. Google Scholar
  4. Pooya Davoodi, Rajeev Raman, and Srinivasa Rao Satti. Succinct representations of binary trees for range minimum queries. In Proc. CACOON, pages 396-407, 2012. Google Scholar
  5. H. Ferrada and G. Navarro. Improved range minimum queries. J. Discrete Alg., 2016. To appear. Google Scholar
  6. H. Ferrada and G. Navarro. Improved range minimum queries. In Proc. DCC, pages 516-525, 2016. Google Scholar
  7. P. Ferragina, R. González, G. Navarro, and R. Venturini. Compressed text indexes: From theory to practice. J. Exp. Algorithmics, 13:12:1.12-12:1.31, February 2009. URL: http://dx.doi.org/10.1145/1412228.1455268.
  8. P. Ferragina and G. Manzini. Opportunistic data structures with applications. In Proc. FOCS, pages 390-398, 2000. Google Scholar
  9. J. Fischer and V. Heun. Space-efficient preprocessing schemes for range minimum queries on static arrays. SIAM Journal on Computing, 40(2):465-492, 2011. Google Scholar
  10. H. Gabow, J. Bentley, and R. Tarjan. Scaling and related techniques for geometry problems. In Proc. STOC, pages 135-143. ACM, 1984. Google Scholar
  11. S. Gog, T. Beller, A. Moffat, and M. Petri. From theory to practice: Plug and play with succinct data structures. In Proc. SEA, pages 326-337, 2014. Google Scholar
  12. R. Grossi and G. Ottaviano. Design of practical succinct data structures for large data collections. In Proc. SEA, pages 5-17, 2013. Google Scholar
  13. B. Hsu and G. Ottaviano. Space-efficient data structures for top-k completion. In Proc. WWW, pages 583-594. ACM, 2013. Google Scholar
  14. G. Jacobson. Space-efficient static trees and graphs. In Proc. FOCS, pages 549-554, 1989. Google Scholar
  15. J. Munro and V. Raman. Succinct representation of balanced parentheses and static trees. SIAM Journal on Computing, 31(3):762-776, 2001. Google Scholar
  16. G. Navarro. Compact Data Structures - A practical approach. Cambridge University Press, 2016. Google Scholar
  17. G. Navarro and K. Sadakane. Fully functional static and dynamic succinct trees. ACM Transactions on Algorithms, 10(3):16:1-16:39, May 2014. URL: http://dx.doi.org/10.1145/2601073.
  18. K. Sadakane. Compressed suffix trees with full functionality. Theory of Computing Systems, 41(4):589-607, 2007. Google Scholar
  19. J. Vuillemin. A unifying look at data structures. Communications of the ACM, 23(4):229-239, 1980. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail