Skip to main content

A Functional Approach to External Graph Algorithms

  • Conference paper
  • First Online:
Algorithms — ESA’ 98 (ESA 1998)

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

Included in the following conference series:

Abstract

We present a new approach for designing external graph algorithms and use it to design simple external algorithms for computing connected components, minimum spanning trees, bottleneck minimum spanning trees, and maximal matchings in undirected graphs and multi-graphs. Our I/O bounds compete with those of previous approaches. Unlike previous approaches, ours is purely functional—without side effects—and is thus amenable to standard checkpointing and programming language optimization techniques. This is an important practical consideration for applications that may take hours to run.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggarwal and J. S. Vitter. The input/output complexity of sorting and related problems. C. ACM, 31(8):1116–27, 1988.

    Article  MathSciNet  Google Scholar 

  2. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.

    Google Scholar 

  3. L. Arge. The buffer tree: A new technique for optimal I/O algorithms. In Proc. 4th WADS, volume 955 of LNCS, pages 334–45. Springer-Verlag, 1995.

    Google Scholar 

  4. O. Borůvka. O jistém problému minimáln’m. PráceMor. Pr’rodoved. Spol. v Brne, 3:37–58, 1926.

    Google Scholar 

  5. P. M. Camerini. The min-max spanning tree problem and some extensions. IPL, 7:10–4, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  6. J. L. Carter and M. N.Wegman. Universal classes of hash functions. JCSS, 18:143–54, 1979.

    MATH  MathSciNet  Google Scholar 

  7. Y.-J. Chiang. Dynamic and I/O-Efficient Algorithms for Computational Geometry and Graph Problems: Theoretical and Experimental Results. PhD thesis, Dept. of Comp. Sci., Brown Univ., 1995.

    Google Scholar 

  8. Y.-J. Chiang, M. T. Goodrich, E. F. Grove, R. Tamassia, D. E. Vengroff, and J. S. Vitter. External-memory graph algorithms. In Proc. 6th ACM-SIAM SODA, pages 139–49, 1995.

    Google Scholar 

  9. F. Y. Chin, J. Lam, and I.-N. Chen. Efficient parallel algorithms for some graph problems. C. ACM, 25(9):659–65, 1982.

    Article  MATH  MathSciNet  Google Scholar 

  10. J. R. Driscoll, N. Sarnak, D. D. Sleator, and R. E. Tarjan. Making data structures persistent. JCSS, 38(1):86–124, February 1989.

    MATH  MathSciNet  Google Scholar 

  11. J. Ja’Ja. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.

    Google Scholar 

  12. D. R. Karger, P. N. Klein, and R. E. Tarjan. A randomized linear-time algorithm to find minimum spanning trees. J. ACM, 42(2):321–28, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  13. R. M. Karp. Probabilistic recurrence relations. J. ACM, 41(6):1136–50, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  14. P. Kelsen. An optimal parallel algorithm for maximal matching. IPL, 52(4):223–8, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  15. V. Kumar and E. J. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In Proc. 8th IEEE SPDP, pages 169–76, 1996.

    Google Scholar 

  16. M. J. Litzkow and M. Livny. Making workstations a friendly environment for batch jobs. In Proc. 3rd Wks. on Work. Oper. Sys., April 1992.

    Google Scholar 

  17. M. Luby. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comp., 15:1036–53, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  18. K. Mehlhorn. Personal communication. http://www.mpi-sb.mpg.de/ crauser-/courses.html, 1998.

    Google Scholar 

  19. J. S. Plank, M. Beck, G. Kingsley, and K. Li. Libckpt: Transparent checkpointing under UNIX. In Proc. Usenix Winter 1995 Tech. Conf., pages 213–23, 1995.

    Google Scholar 

  20. D. D. Sleator and R. E. Tarjan. A data structure for dynamic trees. JCSS, 26(3):362–91, 1983.

    MATH  MathSciNet  Google Scholar 

  21. R. E. Tarjan and J. van Leeuwen. Worst-case analysis of set union algorithms. J. ACM, 31(2):245–81, 1984.

    Article  MATH  Google Scholar 

  22. P. Wadler. Deforestation: Transforming programs to eliminate trees. Theor. Comp. Sci., 73:231–48, 1990.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abello, J., Buchsbaum, A.L., Westbrook, J.R. (1998). A Functional Approach to External Graph Algorithms. In: Bilardi, G., Italiano, G.F., Pietracaprina, A., Pucci, G. (eds) Algorithms — ESA’ 98. ESA 1998. Lecture Notes in Computer Science, vol 1461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-68530-8_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-68530-8_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64848-2

  • Online ISBN: 978-3-540-68530-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics