Advertisement

Cache-Oblivious Data Structures and Algorithms for Undirected Breadth-First Search and Shortest Paths

  • Gerth Stølting Brodal
  • Rolf Fagerberg
  • Ulrich Meyer
  • Norbert Zeh
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3111)

Abstract

We present improved cache-oblivious data structures and algorithms for breadth-first search and the single-source shortest path problem on undirected graphs with non-negative edge weights. Our results removes the performance gap between the currently best cache-aware algorithms for these problems and their cache-oblivious counterparts. Our shortest-path algorithm relies on a new data structure, called bucket heap, which is the first cache-oblivious priority queue to efficiently support a weak DecreaseKey operation.

Keywords

Priority Queue External Memory Memory Hierarchy Adjacency List Euler Tour 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abello, J., Buchsbaum, A.L., Westbrook, J.R.: A functional approach to external graph algorithms. Algorithmica 32(3), 437–458 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Arge, L.: External memory data structures. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 1–29. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Arge, L., Bender, M.A., Demaine, E.D., Holland-Minkley, B., Munro, J.I.: Cache-oblivious priority queue and graph algorithm applications. In: Proc. 34th STOC, pp. 268–276. ACM, New York (2002)Google Scholar
  5. 5.
    Arge, L., Brodal, G., Toma, L.: On external-memory MST, SSSP and multiway planar graph separation. In: Halldórsson, M.M. (ed.) SWAT 2000. LNCS, vol. 1851, pp. 433–447. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  6. 6.
    Brodal, G.S., Fagerberg, R.: In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 426–438. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Brodal, G.S., Fagerberg, R.: Funnel heap - a cache oblivious priority queue. In: Bose, P., Morin, P. (eds.) ISAAC 2002. LNCS, vol. 2518, pp. 219–228. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Brodal, G.S., Fagerberg, R.: On the limits of cache-obliviousness. In: Proc. 35th Symposium on Theory of Computing, pp. 307–315. ACM Press, New York (2003)Google Scholar
  9. 9.
    Brodal, G.S., Fagerberg, R., Meyer, U., Zeh, N.: Cache-oblivious data structures and algorithms for undirected breadth-first search and shortest paths. Technical Report BRICS-RS-04-2, BRICS, Dept. of C. S., University of Aarhus (January 2004)Google Scholar
  10. 10.
    Buchsbaum, A., Goldwasser, M., Venkatasubramanian, S., Westbrook, J.: On external memory graph traversal. In: Proc. 11th SODA, pp. 859–860. ACM, New York (2000)Google Scholar
  11. 11.
    Chiang, Y., Goodrich, M.T., Grove, E.F., Tamassia, R., Vengroff, D.E., Vitter, J.S.: External-memory graph algorithms. In: Proc. 6th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 139–149. ACM, New York (1995)Google Scholar
  12. 12.
    Chowdhury, R.A., Ramachandran, V.: Cache-oblivious shortest paths in graphs using buffer heap. In: Proc. 16th SPAA, ACM-SIAM (2004) (to appear)Google Scholar
  13. 13.
    Demaine, E.D.: Cache-oblivious data structures and algorithms. In: Proc. EFF summer school on massive data sets. LNCS, Springer, Heidelberg (2004) (to appear)Google Scholar
  14. 14.
    Dijkstra, E.W.: A note on two problems in connexion with graphs. Num. Math. 1, 269–271 (1959)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM 34, 596–615 (1987)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: 40th FOCS, pp. 285–297. IEEE, Los Alamitos (1999)Google Scholar
  17. 17.
    Kumar, V., Schwabe, E.J.: Improved algorithms and data structures for solving graph problems in external memory. In: Proc. 8th SPDP, pp. 169–177. IEEE, Los Alamitos (1996)Google Scholar
  18. 18.
    Mehlhorn, K., Meyer, U.: External-memory breadth-first search with sublinear I/O. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 723–735. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  19. 19.
    Meyer, U., Sanders, P., Sibeyn, J.F. (eds.): Algorithms for Memory Hierarchies. LNCS, vol. 2625. Springer, Heidelberg (2003)zbMATHGoogle Scholar
  20. 20.
    Meyer, U., Zeh, N.: I/O-efficient undirected shortest paths. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 434–445. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Munagala, K., Ranade, A.: I/O-complexity of graph algorithms. In: Proc. 10th Annual Symposium on Discrete Algorithms, pp. 687–694. ACM-SIAM (1999)Google Scholar
  22. 22.
    Vitter, J.S.: External memory algorithms and data structures: Dealing with massive data. ACM Computing Surveys 33(2), 209–271 (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Rolf Fagerberg
    • 2
  • Ulrich Meyer
    • 3
  • Norbert Zeh
    • 4
  1. 1.BRICS, Department of Computer ScienceUniversity of AarhusÅrhus CDenmark
  2. 2.Department of Mathematics and Computer ScienceUniversity of Southern DenmarkOdense MDenmark
  3. 3.Max-Planck-Institut für InformatikSaarbrückenGermany
  4. 4.Faculty of Computer ScienceDalhousie UniversityHalifaxCanada

Personalised recommendations