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.
Preview
Unable to display preview. Download preview PDF.
References
M. Ajtai, M. Fredman, and J. Komlós, Hash functions for priority queues, Inform. and Control 63 (1984), pp. 217–225.
S. Albers and T. Hagerup, Improved parallel integer sorting without concurrent writing, Inform. and Comput. 136 (1997), pp. 25–51.
A. Andersson, Sublogarithmic searching without multiplications, in Proc. 36th Annual IEEE Symposium on Foundations of Computer Science (FOGS 1995), pp. 655–663.
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.
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.
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.
A. Andersson, P. B. Miltersen, and M. Thorup, Fusion trees can be implemented with AC0 instructions only, Theoret. Comput. Sci., to appear.
A. Andersson and M. Thorup, Implementing monotone priority queues, Proc. 1996 DIMACS Challenge, to appear.
K. E. Batcher, Sorting networks and their applications, in Proc. 32nd AFIPS Spring Joint Computer Conference (1968), pp. 307–314.
R. Bayer and E. McCreight, Organization and maintenance of large ordered indexes, Acta Inform. 1 (1972), pp. 173–189.
P. Beame and F. Fich, On searching sorted lists: A near-optimal lower. bound, manuscript, 1997.
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.
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.
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.
J. L. Carter and M. N. Wegman, Universal classes of hash functions, J. Comput. System Sci. 18 (1979), pp. 143–154.
J. Cheriyan, T. Hagerup, and K. Mehlhorn, An o(n3)-time maximum-flow algorithm, SIAM J. Comput. 25 (1996), pp. 1144–1170.
S. A. Cook and R. A. Reckhow, Time bounded random access machines, J. Comput. System Sci. 7 (1973), pp. 354–375.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, The MIT Press, Cambridge, MA, 1990.
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.
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.
F. Fich and P. B. Miltersen, Tables should be sorted (on random access machines), in 2 Springer, Berlin, pp. 482–493.
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.
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.
M. L. Fredman and D. E. Willard, Surpassing the information theoretic bound with fusion trees, J. Comput. System Sci. 47 (1993), pp. 424–436.
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.
M. Furst, J. B. Saxe, and M. Sipser, Parity, circuits, and the polynomial-time hierarchy, Math. Syst. Theory 17 (1984), pp. 13–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.
J. Hastad, Almost optimal lower bounds for small depth circuits, Proc. 18th Annual ACM Symposium on Theory of Computing (STOC 1986), pp. 6–20.
J. L. Hennessy and D. A. Patterson, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann Publ., San Mateo, CA, 1994.
D. Kirkpatrick and S. Reisch, Upper bounds for sorting integers on random access machines, Theoret. Comput. Sci. 28 (1984), pp. 263–276.
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.
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).
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.
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.
R. Raman, Recent results on the single-source shortest paths problem, SIGACT News 28:2 (1997), pp. 81–87.
R. E. Tarjan and U. Vishkin, An efficient parallel biconnectivity algorithm, SIAM J. Comput. 14 (1985), pp. 862–874.
M. Thorup, On RAM priority queues, in Proc. 7th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1996), pp. 59–67.
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.
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.
M. Thorup, Faster deterministic sorting and priority queues in linear space, Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1998).
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.
L. G. Valiant, Parallelism in comparison problems, SIAM J. Comput. 4 (1975), pp. 348–355.
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.
D. E. Willard, Log-logarithmic worst-case range queries are possible in space Θ(n), Inform. Process. Lett. 17 (1983), pp. 81–84.
Author information
Authors and Affiliations
Editor information
Rights 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