Elsevier

Journal of Algorithms

Volume 12, Issue 4, December 1991, Pages 573-606
Journal of Algorithms

On parallel hashing and integer sorting

https://doi.org/10.1016/0196-6774(91)90034-VGet rights and content

Abstract

The problem of sorting n integers from a restricted range [1…m], where m is a superpolynomial in n, is considered. An o(n log n) randomized algorithm is given. Our algorithm takes O(n log log m) expected time and O(n) space. (Thus, for m = npolylog(n) we have an O(n log log n) algorithm.) The algorithm is parallelizable. The resulting parallel algorithm achieves optimal speedup. Some features of the algorithm make us believe that it is relevant for practical applications. A result of independent interest is a parallel hashing technique. The expected construction time is logarithmic using an optimal number of processors, and searching for a value takes O(1) time in the worst case. This technique enables drastic reduction of space requirements for the price of using randomness. Applicability of the technique is demonstrated for the parallel sorting algorithm and for some parallel string matching algorithms. The parallel sorting algorithm is designed for a strong and nonstandard model of parallel computation. Efficient simulations of the strong model on a CRCW PRAM are introduced. One of the simulations even achieves optimal speedup. This is probably the first optimal speedup simulation of a certain kind.

References (58)

  • A.V Aho et al.

    The Design and Analysis of Computer Algorithms

    (1974)
  • A Apostolico et al.

    Parallel construction of a suffix tree

    Algorithmica

    (1988)
  • M Ajtai et al.

    An O(n log n) sorting network

  • R.J Anderson et al.

    Optimal parallel algorithms for list ranking

  • A Apostolico

    The myriad virtues of subword trees

  • B Awerbuch et al.

    New connectivity and MSF algorithms for Ultracomputer and PRAM

  • P.C.P Bhatt et al.

    Improved Deterministic Parallel Integer Sorting

  • P Beame

    A general sequential time-space trade-off for finding unique elements

  • P Beame et al.

    Optimal bounds for decision problems on the CRCW PRAM

  • R.B Boppana

    Optimal separations between concurrent-write parallel machines

  • R.P Brent

    The parallel evaluation of general arithmetic expressions

    J. Assoc. Comput. Mach.

    (1974)
  • O Berkman et al.

    Some Doubly Logarithmic Parallel Algorithms Based on Finding All Nearest Smaller Values

  • B.S Chlebus et al.

    Efficient simulations between concurrent-read concurrent-write PRAM models

  • R Cole

    Parallel merge sort

  • R Cole et al.

    Approximate and exact parallel scheduling with applications to list, tree, and graph problems

  • R Cole et al.

    Approximate parallel scheduling. Part I. The basic technique with applications to optimal parallel list ranking in logarithmic time

    SIAM J. Comput.

    (1988)
  • M Dietzfelbinger et al.

    An optimal parallel dictionary

  • D Eppstein et al.

    Parallel algorithmic techniques for combinatorial computation

    Ann. Rev. Comput. Sci.

    (1988)
  • M.L Fredman et al.

    Storing a sparse table with O(1) worst case access time

    J. Assoc. Comput. Mach.

    (1984)
  • Cited by (37)

    • When Can We Sort in o(n log n) Time?

      1997, Journal of Computer and System Sciences
    • Optical routing in meshes using the duplication model

      1997, Journal of Parallel and Distributed Computing
    • Efficient low-contention parallel algorithms

      1996, Journal of Computer and System Sciences
    View all citing articles on Scopus

    Partially supported by NSF Grant CCR-890649 and ONR Grant N00014-85-0046.

    View full text