skip to main content
article
Free Access

Slowing down sorting networks to obtain faster sorting algorithms

Published:01 January 1987Publication History
Skip Abstract Section

Abstract

Megiddo introduced a technique for using a parallel algorithm for one problem to construct an efficient serial algorithm for a second problem. This paper provides a general method that trims a factor of O(log n) time (or more) for many applications of this technique.

References

  1. 1 AHO, A., HOPCROFr, J., AND ULLMAN, J. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, Mass., 1974. Google ScholarGoogle Scholar
  2. 2 AJTAI, M., KOMLOS, J., AND SZEMEREDI, E. An O(n log n) sorting network. Combinatorica 3 (1983), 1-19. Google ScholarGoogle Scholar
  3. 3 COLE, R., AND YAP, C. A parallel median algorithm. Inf. Process. Lett. 20 (1985), 137-139.Google ScholarGoogle Scholar
  4. 4 COLE, R., SHARIR, M., AND YAP, C. On k-hulls and related problems. SIAM J. Comput. to appear. Google ScholarGoogle Scholar
  5. 5 FREDERICKSON, G., AND JOHNSON, D. Finding k-th paths and p-centers by generating and searching good data structures. ~ Algorithms 4 (1983), 61-80.Google ScholarGoogle Scholar
  6. 6 GABBER, O., AND GALIL, Z. Explicit construction of linear size superconcentrators. ~ Comput. Syst. Sci. 22 (1981), 407-420.Google ScholarGoogle Scholar
  7. 7 GABOW, H., GALIL, Z., AND SPENCER, T. Efficient implementation of graph algorithms using contraction. In Proceedings of the 25th Annual Symposium on the Foundations of Computer Science. IEEE, New York, 1984, 347-357.Google ScholarGoogle Scholar
  8. 8 MEGIDDO, N. Combinatorial optimization with rational objective functions. Math. Oper. Res. 4 (1979), 414-424.Google ScholarGoogle Scholar
  9. 9 MEGIDDO, N. Applying parallel computation algorithms in the design of serial algorithms. ~ ACM 30, 4 (1983), 852-865. Google ScholarGoogle Scholar
  10. 10 MEGIDDO, N. Linear time algorithms for linear programming in R3 and related problems. SIAM ~ Comput. 12 (1983), 759-776.Google ScholarGoogle Scholar
  11. 11 MEGIDDO, N. Partitioning with two lines in the plane. ~ Algorithms 6 (1985), 430-433.Google ScholarGoogle Scholar
  12. 12 MEGIDDO, N., AND TAMIR, A. New results on the complexity of p-center problems. SIAM J. Comput. 12, 4 (1983), 751-758.Google ScholarGoogle Scholar
  13. 13 PREPARATA, F. New parallel sorting schemes. IEEE Trans. Comput. C-27 (1978), 669-673.Google ScholarGoogle Scholar
  14. 14 REISCHUK, R. A fast probabilistic sorting algorithm. In Proceedings of the 22nd Annual Symposium on the Foundations of Computer Science. IEEE, New York, 1981, 212-219.Google ScholarGoogle Scholar
  15. 15 REISER, A. A linear selection algorithm for sets of elements with weights. Inf. Process. Lett. 7 (1978), 159-162.Google ScholarGoogle Scholar
  16. 15a SHILOACH, Y., AND VISHKIN, O. Finding the maximum, merging and sorting in a parallel computation model. J. Algorithms 2 ( 1981), 88-102.Google ScholarGoogle Scholar
  17. 16 VALIANT, L. Parallelism in comparison problems. SIAM J. Comput. 4 (1975), 348-355.Google ScholarGoogle Scholar

Index Terms

  1. Slowing down sorting networks to obtain faster sorting algorithms

        Recommendations

        Reviews

        Daniel P. Bovet

        As clearly stated by the author, the paper presents an “improvement of Megiddo's ingenious technique [1], which uses an efficient parallel algorithm for one problem to produce an efficient serial algorithm for a second problem.” In other words, if we want to solve problem B, we look for a closely related problem A such that a serial algorithm solving A in T s steps can easily be adapted to solve B in O( CT s) steps. If we find such A, we use a parallel algorithm to solve A on P processors, serialize it, and show that if B satisfies some requirements, the running time goes down from O( CT pP) to O( CT plog P), if P is not too large. The original technique uses a parallel sorting algorithm to guide a search on a partially ordered space without actually constructing the space. The improvement described in the paper trims a factor of log n from the running time according to the former method. This is obtained by replacing the parallel sorting algorithm with an AKS sorting network [2]. The price to pay for this improvement is twofold: (1) AKS sorting networks involve enormous constants; and (2) the class of problem to which ip applies is more limited since problem A must be a sorting problem. Several geometrically flavored problems are presented that can be solved using the improved technique. The paper is very well written, and it is a pleasure to read. I only have two minor observations: the proof of lemma 1 relies on a formal definipion of sorting networks that is missing; and the equality in lamma 2 is valid when n is a power of 2.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Journal of the ACM
          Journal of the ACM  Volume 34, Issue 1
          Jan. 1987
          219 pages
          ISSN:0004-5411
          EISSN:1557-735X
          DOI:10.1145/7531
          Issue’s Table of Contents

          Copyright © 1987 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 January 1987
          Published in jacm Volume 34, Issue 1

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader