Abstract
We have already encountered the notion of a tree in Chap. 1 and obtained some basic results, including the number of trees on n vertices. In the present chapter, we will study this important class of graphs in considerably more detail. After some further characterizations of trees, we shall study another way of determining the number of trees on n vertices which actually applies more generally: it allows one to compute the number of spanning trees in any given connected graph. Following these theoretical results, the major part of the chapter will be devoted to a network optimization problem, namely to finding a spanning tree for which the sum of all edge lengths is minimal. This problem has many applications; for example, the vertices might represent cities we want to connect to a system supplying electricity; then the edges represent the possible connections and the length of an edge states how much it would cost to build that connection. Other possible interpretations are tasks like establishing traffic connections (for cars, trains or planes) or designing a network for TV broadcasts. We shall present an interesting characterization of minimal spanning trees and use this criterion to establish the most important algorithms for determining such a tree, namely those of Prim, Kruskal, and Boruvka. Following this, we discuss several further applications (e.g., the bottleneck problem) and spanning trees with additional restrictions. We will also consider Steiner trees (these are trees where it is allowed to add some new vertices) and arborescences (directed trees).
I think that I shall never see
A poem lovely as a tree.
Joyce Kilmer
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We will treat this result in Chap. 6. Actually we shall use a different proof which is not based on Theorem 4.2.5.
- 2.
Beware: some authors use the term Steiner tree for what we call a minimal Steiner tree. As an exercise, the reader might try to settle the geometric Steiner tree problem for the vertices of a unit square: here one gets two Steiner points, and the minimal Steiner tree has length \(1+\sqrt{3}\). See [Cox61], Sect. 1.8, or [CouRo41], p. 392.
- 3.
Here is an exercise for those who remember their high school geometry. Prove that the Fermat point of a triangle in which no angle exceeds 120∘ is the unique point from which the three sides each subtend a 120∘ angle. See, for example, [Cox61], Sect. 1.8.
- 4.
As some of the arithmetic operations concerned are exponentiations, this estimate of the complexity might be considered a little optimistic.
References
Abu-Sbeih, M.Z.: On the number of spanning trees of K n and K m,n . Discrete Math. 84, 205–207 (1990)
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Data Structures and Algorithms. Addison Wesley, Reading (1983)
Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms and Applications. Prentice Hall, Englewood Cliffs (1993)
Anderson, S.S., Harary, F.: Trees and unicyclic graphs. Math. Teach. 60, 345–348 (1967)
Arora, S., Karakostas, G.: A 2+ε approximation algorithm for the k-MST problem. Math. Program. 107, 491–504 (2006)
Berman, P., Ramaiyer, V.: Improved approximations for the Steiner tree problem. J. Algorithms 17, 381–408 (1994)
Bondy, J.A., Murty, U.S.R.: Graph Theory with Applications. North Holland, Amsterdam (1976)
Bonsma, P., Zickfeld, F.: A 3/2-approximation algorithm for finding spanning trees with many leaves in cubic graphs. SIAM J. Discrete Math. 25, 1652–1666 (2011)
Boruvka, O.: O jistém problému minimálním. Acta Soc. Sci. Nat. Morav. 3, 37–58 (1926)
Boruvka, O.: Príspevek k resení otázky ekonomické stavby elektrovodních sítí. Elektrotech. Obz. 15, 153–154 (1926)
Camerini, P.M., Fratta, L., Maffioli, F.: A note on finding optimum branchings. Networks 9, 309–312 (1979)
Camerini, P.M., Maffioli, F., Martello, S., Toth, P.: Most and least uniform spanning trees. Discrete Appl. Math. 15, 181–197 (1986)
Campbell, D.M., Radford, D.: Tree isomorphism algorithms: speed versus clarity. Math. Mag. 64, 252–261 (1991)
Chandrasekaran, R., Tamir, A.: Polynomial testing of the query ‘Is a b≥c d’ with application to finding a minimal cost reliability ratio spanning tree. Discrete Appl. Math. 9, 117–123 (1984)
Chandrasekaran, R., Aneja, Y.P., Nair, K.P.K.: Minimal cost reliability ratio spanning tree. Ann. Discrete Math. 11, 53–60 (1981)
Cheriton, D., Tarjan, R.E.: Finding minimum spanning trees. SIAM J. Comput. 5, 724–742 (1976)
Christofides, N.: Graph Theory: An Algorithmic Approach. Academic Press, New York (1975)
Chu, Y.J., Liu, T.H.: On the shortest arborescence of a directed graph. Sci. Sin. 14, 1396–1400 (1965)
Cieslik, D.: Steiner Minimal Trees. Kluwer, Dordrecht (1998)
Cieslik, D.: The Steiner Ratio. Kluwer, Dordrecht (2001)
Colbourn, C.J., Day, R.P.J., Nel, L.D.: Unranking and ranking spanning trees of a graph. J. Algorithms 10, 271–286 (1989)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009)
Courant, R., Robbins, H.: What is Mathematics? Oxford University Press, New York (1941)
Coxeter, H.M.S.: Introduction to Geometry. Wiley, New York (1961)
de Bruijn, N.G.: A combinatorial problem. Indag. Math. 8, 461–467 (1946)
de Bruijn, N.G., van Aardenne-Ehrenfest, T.: Circuits and trees in oriented linear graphs. Simon Stevin 28, 203–217 (1951)
Dixon, B., Rauch, M., Tarjan, R.E.: Verification and sensitivity analysis of minimum spanning trees in linear time. SIAM J. Comput. 21, 1184–1192 (1992)
Du, D.-Z., Hwang, F.: An approach for proving lower bounds: solution of Gilbert-Pollak’s conjecture on Steiner ratio. In: Proc. 31st Annual Symp. on Foundations of Computer Science, Los Alamitos, CA, pp. 76–85. IEEE Computer Society, Los Alamitos (1990)
Du, D.-Z., Hwang, F.: The Steiner ratio conjecture of Gilbert and Pollak is true. Proc. Natl. Acad. Sci. USA 87, 9464–9466 (1990)
Du, D.-Z., Zhang, Y.: On better heuristics for Steiner minimum trees. Math. Program. 57, 193–202 (1992)
Du, D.-Z., Smith, J.M., Rubinstein, J.H.: Advances in Steiner Trees. Kluwer, Dordrecht (2000)
Edmonds, J.: Optimum branchings. J. Res. Natl. Bur. Stand. B 71, 233–240 (1967)
Eppstein, D.: Offline algorithms for dynamic minimum spanning tree problems. J. Algorithms 17, 237–250 (1994)
Fiedler, M., Sedlacek, J.: O W-basich orientovanych grafu. Čas. Pěst. Mat. 83, 214–225 (1958)
Fischetti, M., Hamacher, H.W., Jørnsten, K.O., Maffioli, F.: Weighted k-cardinality trees: complexity and polyhedral structure. Networks 24, 11–21 (1994)
Frederickson, G.N.: Data structures for on-line updating of minimum spanning trees, with applications. SIAM J. Comput. 14, 781–798 (1985)
Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses on improved network optimization algorithms. J. Assoc. Comput. Mach. 34, 596–615 (1987)
Fredman, M.L., Willard, D.E.: Trans-dichotomous algorithms for minimum spanning trees and shortest paths. J. Comput. Syst. Sci. 48, 533–551 (1994)
Gabow, H.N., Galil, Z., Spencer, T., Tarjan, R.E.: Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica 6, 109–122 (1986)
Galil, Z., Schieber, B.: On funding most uniform spanning trees. Discrete Appl. Math. 20, 173–175 (1988)
Garey, M.R., Johnson, D.S.: The complexity of near-optimal graph coloring. J. Assoc. Comput. Mach. 23, 43–49 (1976)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York (1979)
Garey, M.R., Graham, R.L., Johnson, D.S.: The complexity of computing Steiner minimal trees. SIAM J. Appl. Math. 32, 835–859 (1977)
Gilbert, E.N., Pollak, H.O.: Steiner minimal trees. SIAM J. Appl. Math. 16, 1–29 (1968)
Gondran, M., Minoux, N.: Graphs and Algorithms. Wiley, New York (1984)
Graham, R.L., Hell, P.: On the history of the minimum spanning tree problem. Ann. Hist. Comput. 7, 43–57 (1985)
Hadley, G.: Linear Algebra. Addison-Wesley, Reading (1961)
Hamacher, H.W., Ruhe, G.: On spanning tree problems with multiple objectives. Ann. Oper. Res. 52, 209–230 (1994)
Harary, F.: Graph Theory. Addison Wesley, Reading (1969)
Ho, J.-M., Lee, D.T., Chang, C.-H., Wong, C.K.: Minimum diameter spanning trees and related problems. SIAM J. Comput. 20, 987–997 (1991)
Hu, T.C.: The maximum capacity route problem. Oper. Res. 9, 898–900 (1961)
Hu, T.C.: Optimum communication spanning trees. SIAM J. Comput. 3, 188–195 (1974)
Hwang, F.K., Richards, D.S., Winter, P.: The Steiner Tree Problem. North Holland, Amsterdam (1992)
Jarník, V.: O jistém problému minimálním. Acta Soc. Sci. Nat. Morav. 6, 57–63 (1930)
Johnson, D.B.: Priority queues with update and minimum spanning trees. Inf. Process. Lett. 4, 53–57 (1975)
Johnson, D.S., Lenstra, J.K., Rinnooy Kan, A.H.G.: The complexity of the network design problem. Networks 8, 279–285 (1978)
Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972)
Kirchhoff, G.: Über die Auflösungen der Gleichungen, auf die man bei der Untersuchung der Verteilung galvanischer Ströme geführt wird. Ann. Phys. Chem. 72, 497–508 (1847)
Kleitman, D.J., West, D.B.: Spanning trees with many leaves. SIAM J. Discrete Math. 4, 99–106 (1991)
Knuth, D.E.: Oriented subtrees of an arc digraph. J. Comb. Theory 3, 309–314 (1967)
Korte, B., Prömel, H.J., Steger, A.: Steiner trees in VLSI-Layout. In: Korte, B., Lovász, L., Prömel, H.J., Schrijver, A. (eds.) Paths, Flows and VLSI-layout, pp. 185–214. Springer, Berlin (1990)
Kravitz, D.: Two comments on minimum spanning trees. Bull. Inst. Comb. Appl. 49, 7–10 (2007)
Kruskal, J.B.: On the shortest spanning subtree of a graph and the travelling salesman problem. Proc. Am. Math. Soc. 7, 48–50 (1956)
Lawler, E.L.: Combinatorial Optimization: Networks and Matriods. Holt, Rinehart and Winston, New York (1976)
Lemke, P.: The Maximum-Leaf Spanning Tree Problem in Cubic Graphs is NP-Complete. IMA Publication, vol. 428. University of Minnesota, Minneapolis (1988)
Lengauer, T.: Combinatorial Algorithms for Integrated Circuit Layout. Wiley, New York (1990)
Maculan, N.: The Steiner problem in graphs. Ann. Discrete Math. 31, 185–212 (1987)
Martin, A.: Packen Von Steinerbäumen: Polyedrische Studien und Anwendung. Dissertation, Technische Universität Berlin (1992)
Matsui, T.: The minimum spanning tree problem on a planar graph. Discrete Appl. Math. 58, 91–94 (1995)
Mehlhorn, K., Sanders, P.: Algorithms and Data Structures. The Basic Toolbox. Springer, Berlin (2008)
Otter, R.: The number of trees. Ann. Math. 49, 583–599 (1948)
Prim, R.C.: Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36, 1389–1401 (1957)
Prömel, H.-J., Steger, A.: The Steiner Tree Problem. Vieweg, Braunschweig (2002)
Tarjan, R.E.: Finding optimum branchings. Networks 7, 25–35 (1977)
Trietsch, D., Hwang, F.: An improved algorithm for Steiner trees. SIAM J. Appl. Math. 50, 244–264 (1990)
Tutte, W.T.: The dissection of equilateral triangles into equilateral triangles. Proc. Camb. Philos. Soc. 44, 203–217 (1948)
van Lint, J.H.: Combinatorial Theory Seminar Eindhoven University of Technology. Springer, Berlin (1974)
Voß, S.: Steiner’s problem in graphs: heuristic methods. Discrete Appl. Math. 40, 45–72 (1992)
Yao, A.C.: An O(|E|loglog|V|) algorithm for finding minimum spanning trees. Inf. Process. Lett. 4, 21–23 (1975)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Jungnickel, D. (2013). Spanning Trees. In: Graphs, Networks and Algorithms. Algorithms and Computation in Mathematics, vol 5. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32278-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-32278-5_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32277-8
Online ISBN: 978-3-642-32278-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)