Skip to main content

Sorting and searching on the word RAM

  • Invited Talk
  • Conference paper
  • First Online:
STACS 98 (STACS 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1373))

Included in the following conference series:

Abstract

A word RAM is a unit-cost random-access machine with a word length of w bits, for some w, and with an instruction repertoire similar to that found in present-day computers. The simple lower bounds for the problems of sorting and searching valid in the comparison-based model do not hold for the word RAM, so that the well-known algorithms for these tasks are not optimal for the word RAM. This paper gives an overview of faster algorithms known for sorting and searching on the word RAM, many of which were developed within the last few years.

This work was carried out while the author held a visiting position at the Department of Computer Science, University of Copenhagen, Denmark.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Ajtai, M. Fredman, and J. Komlós, Hash functions for priority queues, Inform. and Control 63 (1984), pp. 217–225.

    Article  MATH  MathSciNet  Google Scholar 

  2. S. Albers and T. Hagerup, Improved parallel integer sorting without concurrent writing, Inform. and Comput. 136 (1997), pp. 25–51.

    Article  MATH  MathSciNet  Google Scholar 

  3. A. Andersson, Sublogarithmic searching without multiplications, in Proc. 36th Annual IEEE Symposium on Foundations of Computer Science (FOGS 1995), pp. 655–663.

    Google Scholar 

  4. A. Andersson, Faster deterministic sorting and searching in linear space, in Proc. 37th Annual IEEE Symposium on Foundations of Computer Science (FOGS 1996), pp. 135–141.

    Google Scholar 

  5. A. Andersson, T. Hagerup, S. Nilsson, and R. Raman, Sorting in linear time?, J. Comput. System Sci., to appear. A preliminary version appeared in Proc. 27th Annual ACM Symposium on the Theory of Computing (STOC 1995), pp. 427–436.

    Google Scholar 

  6. A. Andersson, P. B. Miltersen, S. Riis, and M. Thorup, Static dictionaries on AC0 RAMS: Query time Φ( log n/log log n) is necessary and sufficient, in Proc. 37th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1996), pp. 441–450.

    Google Scholar 

  7. A. Andersson, P. B. Miltersen, and M. Thorup, Fusion trees can be implemented with AC0 instructions only, Theoret. Comput. Sci., to appear.

    Google Scholar 

  8. A. Andersson and M. Thorup, Implementing monotone priority queues, Proc. 1996 DIMACS Challenge, to appear.

    Google Scholar 

  9. K. E. Batcher, Sorting networks and their applications, in Proc. 32nd AFIPS Spring Joint Computer Conference (1968), pp. 307–314.

    Google Scholar 

  10. R. Bayer and E. McCreight, Organization and maintenance of large ordered indexes, Acta Inform. 1 (1972), pp. 173–189.

    Article  Google Scholar 

  11. P. Beame and F. Fich, On searching sorted lists: A near-optimal lower. bound, manuscript, 1997.

    Google Scholar 

  12. A. M. Ben-Amram and Z. Galil, When can we sort in o(n log n) time?, in Proc. 34th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1993), pp. 538–546.

    Google Scholar 

  13. O. Berkman, B. Schieber, and U. Vishkin, Optimal doubly logarithmic parallel algorithms based on finding all nearest smaller values, J. Algorithms 14 (1993), pp. 344–370.

    Article  MATH  MathSciNet  Google Scholar 

  14. A. Brodnik, P. B. Miltersen, and J. I. Munro, Trans-dichotomous algorithms without multiplication-some upper and lower bounds, in Proc. 5th International Workshop on Algorithms and Data Structures (WADS 1997), Lecture Notes in Computer Science, Vol. 1272, Springer, Berlin, pp. 426–439.

    Google Scholar 

  15. J. L. Carter and M. N. Wegman, Universal classes of hash functions, J. Comput. System Sci. 18 (1979), pp. 143–154.

    Article  MATH  MathSciNet  Google Scholar 

  16. J. Cheriyan, T. Hagerup, and K. Mehlhorn, An o(n3)-time maximum-flow algorithm, SIAM J. Comput. 25 (1996), pp. 1144–1170.

    Article  MATH  MathSciNet  Google Scholar 

  17. S. A. Cook and R. A. Reckhow, Time bounded random access machines, J. Comput. System Sci. 7 (1973), pp. 354–375.

    Article  MATH  MathSciNet  Google Scholar 

  18. T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, The MIT Press, Cambridge, MA, 1990.

    MATH  Google Scholar 

  19. A. Dessmark and A. Lingas, On the power of nonconservative PRAM, in Proc. 21st International Symposium on Mathematical Foundations of Computer Science (MFCS 1996), Lecture Notes in Computer Science, Vol. 1113, Springer, Berlin, pp. 303–311.

    Google Scholar 

  20. M. Dietzfelbinger, T. Hagerup, J. Katajainen, and M. Penttonen, A reliable randomized algorithm for the closest-pair problem, J. Algorithms 25 (1997), pp. 19–51.

    Article  MATH  MathSciNet  Google Scholar 

  21. F. Fich and P. B. Miltersen, Tables should be sorted (on random access machines), in 2 Springer, Berlin, pp. 482–493.

    Google Scholar 

  22. M. L. Fredman, J. Komlós, and E. Szemerédi, Storing a sparse table with O(1) worst case access time, J. Assoc. Comput. Mach. 31 (1984), pp. 538–544.

    MATH  MathSciNet  Google Scholar 

  23. M. L. Fredman and M. E. Saks, The cell probe complexity of dynamic data structures, Proc. 21st Annual ACM Symposium on Theory of Computing (STOC 1989), pp. 345–354.

    Google Scholar 

  24. M. L. Fredman and D. E. Willard, Surpassing the information theoretic bound with fusion trees, J. Comput. System Sci. 47 (1993), pp. 424–436.

    Article  MATH  MathSciNet  Google Scholar 

  25. M. L. Fredman and D. E. Willard, Trans-dichotomous algorithms for minimum spanning trees and shortest paths, J. Comput. System Sci. 48 (1994), pp. 533–551.

    Article  MATH  MathSciNet  Google Scholar 

  26. M. Furst, J. B. Saxe, and M. Sipser, Parity, circuits, and the polynomial-time hierarchy, Math. Syst. Theory 17 (1984), pp. 13–27.

    Article  MATH  MathSciNet  Google Scholar 

  27. A. V. Goldberg and S. Rao, Beyond the flow decomposition barrier, in Proc. 38th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1997), pp. 2–11.

    Google Scholar 

  28. J. Hastad, Almost optimal lower bounds for small depth circuits, Proc. 18th Annual ACM Symposium on Theory of Computing (STOC 1986), pp. 6–20.

    Google Scholar 

  29. J. L. Hennessy and D. A. Patterson, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann Publ., San Mateo, CA, 1994.

    MATH  Google Scholar 

  30. D. Kirkpatrick and S. Reisch, Upper bounds for sorting integers on random access machines, Theoret. Comput. Sci. 28 (1984), pp. 263–276.

    Article  MATH  MathSciNet  Google Scholar 

  31. P. B. Miltersen, Lower bounds for static dictionaries on RAMS with bit operations but no multiplication, in Proc. 23rd International Colloquium on Automata, Languages and Programming (ICALP 1996), Lecture Notes in Computer Science, Vol. 1099, Springer, Berlin, pp. 442–453.

    Google Scholar 

  32. P. B. Miltersen, Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries, in Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1998).

    Google Scholar 

  33. W. J. Paul and J. Simon, Decision trees and random access machines, in Proc. International Symposium on Logic and Algorithmic, Zürich, 1980, pp. 331–340.

    Google Scholar 

  34. R. Raman, Priority queues: Small, monotone and trans-dichotomous, in Proc. 4th Annual European Symposium on Algorithms (ESA 1996), Lecture Notes in Computer Science, Vol. 1136, Springer, Berlin, pp. 121–137.

    Google Scholar 

  35. R. Raman, Recent results on the single-source shortest paths problem, SIGACT News 28:2 (1997), pp. 81–87.

    Article  Google Scholar 

  36. R. E. Tarjan and U. Vishkin, An efficient parallel biconnectivity algorithm, SIAM J. Comput. 14 (1985), pp. 862–874.

    Article  MATH  MathSciNet  Google Scholar 

  37. M. Thorup, On RAM priority queues, in Proc. 7th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1996), pp. 59–67.

    Google Scholar 

  38. M. Thorup, Randomized sorting in O(n log log n) time and linear space using addition, shift, and bit-wise boolean operations, in Proc. 8th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1997), pp. 352–359.

    Google Scholar 

  39. M. Thorup, Undirected single source shortest paths in linear time, in Proc. 38th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1997), pp. 12–21.

    Google Scholar 

  40. M. Thorup, Faster deterministic sorting and priority queues in linear space, Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1998).

    Google Scholar 

  41. M. Thorup, Floats, integers, and single source shortest paths, Proc. 15th Symposium on Theoretical Aspects of Computer Science (STACS 1998), Lecture Notes in Computer Science, Springer, Berlin.

    Google Scholar 

  42. L. G. Valiant, Parallelism in comparison problems, SIAM J. Comput. 4 (1975), pp. 348–355.

    Article  MATH  MathSciNet  Google Scholar 

  43. P. van Emde Boas, R. Kaas, and E. Zijlstra, Design and implementation of an efficient priority queue, Math. Syst. Theory 10 (1977), pp. 99–127.

    Article  MATH  Google Scholar 

  44. D. E. Willard, Log-logarithmic worst-case range queries are possible in space Θ(n), Inform. Process. Lett. 17 (1983), pp. 81–84.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michel Morvan Christoph Meinel Daniel Krob

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag

About this paper

Cite this paper

Hagerup, T. (1998). Sorting and searching on the word RAM. In: Morvan, M., Meinel, C., Krob, D. (eds) STACS 98. STACS 1998. Lecture Notes in Computer Science, vol 1373. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028575

Download citation

  • DOI: https://doi.org/10.1007/BFb0028575

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64230-5

  • Online ISBN: 978-3-540-69705-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics