Efficient algorithms for finding minimum spanning trees in undirected and directed graphs

Abstract

Recently, Fredman and Tarjan invented a new, especially efficient form of heap (priority queue). Their data structure, theFibonacci heap (or F-heap) supports arbitrary deletion inO(logn) amortized time and other heap operations inO(1) amortized time. In this paper we use F-heaps to obtain fast algorithms for finding minimum spanning trees in undirected and directed graphs. For an undirected graph containingn vertices andm edges, our minimum spanning tree algorithm runs inO(m logβ (m, n)) time, improved fromO((m, n)) time, whereβ(m, n)=min {i|log(i) nm/n}. Our minimum spanning tree algorithm for directed graphs runs inO(n logn + m) time, improved fromO(n log n +m log log log(m/n+2) n). Both algorithms can be extended to allow a degree constraint at one vertex.

This is a preview of subscription content, access via your institution.

References

  1. [1]

    F. Bock, An algorithm to construct a minimum directed spanning tree in a directed network, in:Developments in Operations Research, Gordon and Breach, New York, 1971, 29–44.

    Google Scholar 

  2. [2]

    O. Boruvka, O jistem problemu minimálni’mPráca Moravské Priŕodovědecké Spolěcnosti 3 (1926), 37–58. (In Czech).

    Google Scholar 

  3. [3]

    P. M. Camerini, L. Fratta andF. Maffioli, A note on finding optimum branchings,Networks 9 (1979), 309–312.

    MATH  MathSciNet  Google Scholar 

  4. [4]

    D. Cheriton andR. E. Tarjan, Finding minimum spanning trees,SIAM J. Comput. 5 (1976), 724–742.

    MATH  Article  MathSciNet  Google Scholar 

  5. [5]

    Y. J. Chu andT. H. Liu, On the shortest arborescence of a directed graph,Sci. Sinica 14 (1965), 1396–1400.

    MATH  MathSciNet  Google Scholar 

  6. [6]

    J. Edmonds, Optimum branchings,J. Res. Nat. Bur. Standards 71B (1967), 233–240.

    MathSciNet  Google Scholar 

  7. [7]

    M. L. Fredman andR. E. Tarjan, Fibonacci heaps and their uses in network optimization algorithms,J. Assoc. Comput. Mach., to appear; also Proc. 25 th Annual IEEE Symp. on Found. of Comp. Sci. (1984), 338–346.

  8. [8]

    H. N. Gabow, Z. Galil andT. H. Spencer, Efficient implementation of graph algorithms using contraction,Proc. 25 th Annual IEEE Symp. on Found. of Comp. Sci. (1984), 347–357.

  9. [9]

    H. N. Gabow, Z. Galil andT. Spencer, Efficient implementation of graph algorithms using contraction,J. Assoc. Comput. Mach., submitted.

  10. [10]

    H. N. Gabow andR. E. Tarjan, Efficient algorithms for a family of matroid intersection problems,J. Algorithms 5 (1984), 80–131.

    MATH  Article  MathSciNet  Google Scholar 

  11. [11]

    R. L. Graham andP. Hell, On the history of the minimum spanning tree problem,Ann. History of Computing 7 (1985), 43–57.

    MATH  MathSciNet  Article  Google Scholar 

  12. [12]

    R. M. Karp, A simple derivation of Edmonds’ algorithm for optimum branchings,Networks 1 (1971), 265–272.

    MathSciNet  Google Scholar 

  13. [13]

    J. Komlós, Linear verification for spanning trees,Combinatorica 5 (1985), 57–65.

    MATH  MathSciNet  Google Scholar 

  14. [14]

    R. E. Tarjan, Efficiency of a good but not linear set union algorithm,J. Assoc. Comput. Mach. 22 (1975), 215–225.

    MATH  MathSciNet  Google Scholar 

  15. [15]

    R. E. Tarjan, Finding optimum branchings,Networks 7 (1977), 25–35.

    MATH  MathSciNet  Google Scholar 

  16. [16]

    R. E. Tarjan, Applications of path compression on balanced trees,J. Assoc. Comput. Mach. 26 (1979), 690–715.

    MATH  MathSciNet  Google Scholar 

  17. [17]

    R. E. Tarjan,Data Structures and Network Algorithms, CBMS 44, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.

  18. [18]

    R. E. Tarjan andJ. Van Leeuwen, Worst-case analysis of set union algorithms,J. Assoc. Comput. Mach. 31 (1984), 245–281.

    MATH  MathSciNet  Google Scholar 

  19. [19]

    R. E. Tarjan, Amortized computational complexity,SIAM J. Alg. Disc. Meth. 6 (1985), 306–318.

    MATH  MathSciNet  Google Scholar 

  20. [20]

    A. Yao, AnO(|E|log log|V|) algorithm for finding minimum spanning trees,Inform. Process. Lett. 4 (1975), 21–23.

    MATH  Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Additional information

Research supported in part by National Science Foundation Grant MCS-8302648.

Research supported in part by National Science Foundation Grant MCS-8303139.

Research supported in part by National Science Foundation Grant MCS-8300984 and a United States Army Research Office Program Fellowship, DAAG29-83-GO020.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Gabow, H.N., Galil, Z., Spencer, T. et al. Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica 6, 109–122 (1986). https://doi.org/10.1007/BF02579168

Download citation

AMS subject classification (1980)

  • 68 B 15
  • 68 C 05