Skip to main content
Log in

Optimal parallel algorithms for computing convex hulls and for sorting

Optimale parallele Algorithmen zur Berechnung der konvexen Hülle und zum Sortieren

  • Contributed Papers
  • Published:
Computing Aims and scope Submit manuscript

Abstract

A parallel algorithm is presented for computing the convex hull of a set ofn points in the plane. The algorithm usesn 1−ε processors, 0<ε<1, and runs inO(n ε logh) time, whereh is the number of edges on the convex hull, for a total cost ofO (n logh). This performance matches that of the best currently known sequential convex hull algorithm. In addition, sinceh≤n, the algorithm is worst-case optimal in view of the Ω (n logn) worst-case lower bound on sequential convex hull computation. It is also shown that the convex hull algorithm leads to a parallel sorting algorithm whose total cost isO(n logn), which is optimal.

Zusammenfassung

In dieser Arbeit wird ein paralleler Algorithmus zur Berechnung der konvexen Hülle einer Menge vonn Punkten in der Ebene vorgestellt. Der Algorithmus benötigtn 1−ε Prozessoren, 0<ε<1, und läuft in der ZeitO(n ε logh), wobeih die Zahl der Kanten der konvexen Hülle ist. Daraus ergeben sich Gesamtkosten vonO(n logh). Dieses Verhalten stimmt mit dem des besten bisher bekannten sequentiellen Algorithmus zur Berechnung der konvexen Hülle überein. Der Algorithmus ist zusätzlich optimal im schlechtesten Fall, dah≤n gilt und Ω(n logn) eine untere Schranke für die sequentielle Berechnung der konvexen Hülle ist. Außerdem wird gezeigt, daß der Algorithmus für die konvexe Hülle zu einem parallelen Sortierverfahren führt, dessen GesamtkostenO(n logn) sind, d. h. auch dieses Verfahren ist optimal.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Graham, R. L.: An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters1, 132–133 (1972).

    Google Scholar 

  2. Shamos, M. I., Hoey, D.: Closest-point problems. Proceedings of the 16th Annual IEEE Symposium on Foundations of Computer Science, New York, October 1975, pp. 151–162.

  3. Preparata, F. P., Hong, S. J.: Convex hulls of finite sets of points in two and three dimensions. Communications of the ACM20, 87–93 (1977).

    Google Scholar 

  4. Akl, S. G., Toussaint, G. T.: A fast convex hull algorithm Information Processing Letters7, 219–222 (1978).

    Google Scholar 

  5. Yao, A. C.-C.: A lower bound to finding convex hulls. Journal of the ACM28, 780–787 (1981).

    Google Scholar 

  6. Kirkpatrick, D. G. Seidel, R.: The ultimate planar convex hull algorithm? Proceedings of the 20th Allerton Conference on Communication, Control and Computing, Monticello, Illinois, October 1982.

  7. Chow, A. L.: A parallel algorithm for determining convex hulls of sets of points in two dimensions. Proceedings of the 19th Allerton Conference on Communication, Control and Computing, Monticello, Illinois, September 30 – October 2, 1981, pp. 214–223.

  8. Nath, D., Maheshwari, S. N., Bhatt, P. C. P.: Parallel algorithms for the convex hull problem in two dimensions. Technical Report EE 8005, Department of Electrical Engineering, Indian Institute of Technology, New Delhi, India, October 1980.

    Google Scholar 

  9. Akl, S. G.: A constant-time parallel algorithm for computing convex hulls. BIT22, 130–134 (1982).

    Google Scholar 

  10. Chandra, A. K., Stockmeyer, L. J., Vishkin, U.: A complexity theory for unbounded fan-in parallelism. Proceedings of the 23rd Symposium on Foundations of Computer Science, Chicago, Illinois, November 1982, pp. 1–13.

  11. Ralston, A., ed.: Encyclopedia of computer science and engineering, 2nd ed., p. 954; p. 1456. Toronto: Van Nostrand Reinhold 1983.

    Google Scholar 

  12. Flynn, M. J.: Very high-speed computing systems. Proceedings of the IEEE54, 1901–1909 (1966).

    Google Scholar 

  13. Akl, S. G.: An optimal algorithm for parallel selection. Technical Report No. 83-146, Department of Computing and Information Science, Queen's University, Kingston, Ontario, Canada, April 1983. Information Processing Letters (to appear).

    Google Scholar 

  14. Shamos, M. I.: Geometric complexity. Proceedings of the 7th Annual ACM Symposium on Theory of Computing, Albuquerque, New Mexico, May 1975, pp. 224–233.

  15. Knuth, D. E.: The art of computer programming, Vol. 3: Sorting and Searching. Don Mills, Ontario: Addison-Wesley 1973.

    Google Scholar 

  16. Stone, H. S.: Parallel processing with the perfect shuffle. IEEE Transactions on ComputersC-20, 153–161 (1971).

    Google Scholar 

  17. Preparata, F. P.: New parallel sorting schemes. IEEE Transactions on ComputersC-27, 669–673 (1978).

    Google Scholar 

  18. Borodin, A., Hopcroft, J. E.: Routing, merging and sorting on parallel models of computation. Proceedings of the 14th Annual ACM Symposium on Theory of Computing, San Francisco, California, May 5–7, 1982, pp. 338–344.

  19. Batcher, K. E.: Sorting networks and their applications. Proceedings of the AFIPS 1968 SJCC, Vol. 32, pp. 307–317. Montvale, N.J.: AFIPS Press 1968.

    Google Scholar 

  20. Nassimi, D., Sahni, S.: Parallel permutation and sorting algorithms and a new generalized connection network. Journal of the ACM29, 642–667 (1982).

    Google Scholar 

  21. Todd, S.: Algorithms and hardware for a merge sort using multiple processors. IBM Journal of Research and Development22, 509–517 (1978).

    Google Scholar 

  22. Shiloach, Y., Vishkin, U.: Finding the maximum, merging and sorting in a parallel computation model. Technical Report Nr. 173, Department of Computer Science, Israel Institute of Technology, Haifa, Israel, March 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported by the Natural Sciences and Engineering Research Council of Canada under grant NSERC-A3336.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Akl, S.G. Optimal parallel algorithms for computing convex hulls and for sorting. Computing 33, 1–11 (1984). https://doi.org/10.1007/BF02243071

Download citation

  • Received:

  • Issue Date:

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

CR Categories and Subject Descriptors

Key words

Navigation