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)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abello, J., Buchsbaum, A.L., Westbrook, J.R.: A functional approach to external graph algorithms. Algorithmica 32(3), 437–458 (2002)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHGoogle 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