You are on page 1of 8

Trees Trees are the building blocks of graphs.

We have already seen that every graph is made up of connected graphs. We show that every connected graph has a spanning tree. Definition. A tree is a connected graph with no cycles. Definition. A tree T is called a spanning tree for the graph G = (V, E) if T is a subgraph of G and and all the vertices of G are vertices of T. Theorem. A graph G = (V, E) is connected if and only if it has a spanning tree. Proof. If G contains a spanning tree, then it must be connected since the tree is connected. The paths connecting the vertices are already available in the edges of the spanning tree. Conversely, assume that G is a connected graph. If G has a cycle, remove an edge of this cycle to form the subgraph G′. Then G′ will again be a connected graph. Indeed, the two vertices connected by the edge that has been removed will still be connected by the remaining edges. This follows from the definition of a cycle. For example, if the cycle is (v1, v2, … , vi, vi+1, … , vn-1, vn) is the cycle and the edge {vi, vi+1} is removed, then the vertices vi and vi+1 are still connected by a path (vi+1, … , vn-1, vn, v2, … , vi) since vn = v1. Once vi and vi+1 are connected by a path in G′, everything that was connected in G is connected in G′. Thus, the graph G′ is connected. Continue the process of removing edges from cycles by removing and edge from a cycle in G′ if G′ has a cycle. The process of removing edges ends after a finite number of steps when a connected subgraph T of G with no cycles is reached. Indeed, the graph G has only finitely many edges. So we have that G has a connected subgraph T with no cycles. Thus, the graph T is a tree. Since T and G have the same vertices, the tree T is a spanning tree for G. Q.E.D. Another way of getting a spanning tree is by “growing” the tree Spanning Tree Algorithm. Let G = (V, E) be a connected graph. Define the growing tree recursion with BASIC STEP: Choose any vertex v and form the set of vertices W ={v} and the set of edges F = ∅. RECURSIVE STEP. Find a v not in W for which there is an edge (v, w) in E with w in W such that the set F∪{ (v, w)} has no cycles. Replace W with W′ = W∪{w} and F with F′ =F∪{ (v, w)}. The algorithm terminates when when there are no longer any vertices to add to W. Theorem. The spanning tree algorithm produces a spanning tree. Proof. We use structural induction. We see that the basic step produces a tree. We show for the recursive step that a tree is obtained from applying the recursive step to the tree (W, F). Suppose the vertex v with edge (w, v) is added. The the graph (W′, F′) is a tree. In fact, (W, F) has no cycles and the new edge (w, v) does not produce a cycle. Also the graph is connected. since the new edge v is connected to w and w is connected to all the edges in W. So (W′, F′) is a tree. The algorithm terminates at (W, F) after finitely many steps since there are only finitely many vertices. The graph at the end is a tree. We need to show that the tree spans G, i.e.., contains all the vertices V. If not there is a vertex v not in W. Let w be any vertex in W. Since G is connected, there is a path v = v1, … , vm where

Trees page 1

So we have that ∑i(ni . 5) there is exactly one path between any two vertices. v′ 1 = v is a cycle. w) is an edge in G or adding (v.E. the spanning tree algorithm can be applied and the spanning tree algorithm requires n -1 edges.1 edges. Proof.1.and 6) G has no cycles but connecting any two vertices with an edge not in the graph will create a cycle. w) will create a cycle only if there is already a path in G between v and w. So we must have that that there is exactly one path between any two vertices. Let G with n vertices. At each stage we add one vertex and one edge. Creating an edge (v. 4) G is connected and removing an edge disconnects G. Suppose that G has no cycles but adding an edge will create a cycle. (1) → (2). Removing an edge from a cycle of a connected graph does not disconnect the graph. Suppose that there is a unique path between any two vertices. Corollary. Let G1. We have already seen that there are no cycles.1 edges.D. Suppose G is connected and has n . Suppose G has no cycles and n . Then the path v = v 1 . Then vk -1 is not in W and can be connected to W with the path (vk . The graph G is also connected by definition. We need to show G is connected.vm = w. the graph G is connected.1 edges in the spanning tree are the only edges in G since adding an edge to the spanning tree will produce a cycle and the cycle will also be a cycle in G. The start is one vertex and 0 edges. Since Gi is a tree. Proof (3) → (4). The following are equivalent: 1) G is a tree. vk) not in F.1 edges by (1) → (2). In either case.1 edges. Q. Gk ebe the connected components of G.1. … . v 2 . …. v′ k′ .1.D. This follows directly from the Theorem. Let G be a connected graph with n vertices. Removing an edge must disconnect the graph.1) = ∑ni . Let vk be the first element of the path in W. So we have verified the recursive step. v′2 . …. v2 . Q.k i = n – ki = n . Proof. (v. So at the end. Proof (5) → (6). w) will produce a cycle since there is already a path v = v1. The spanning tree algorithm applied to the G gives a spanning tree with n . Here ni is the number of vertices in Gi.1 would have to be previously connected to (W. v k = w and v = v1 .1 edges. These are important since trees are the building blocks for graphs. If v and w are in G. Proof (6) → (1). So we must have that k = 1 and therefore G is connected.1. ….1 edges. We show that G is connected. it has ni . v k . …. Trees page 2 . Then every spanning tree of G has n. 3) G is connected and has n .E. Daisy Chain Theorem Daisy Chain Theorem. Suppose G is connected but removing an edge disconnects G. Proof (2) → (3). The addition of the path (vk . v2. Suppose G is a tree. vk = w in the graph. v′ 2 . otherwise. The n .1 edges. each of which are trees since there are no cycles even in G. there are n vertices and n -1 edges. then either (v. v′k′ = w between two vertices v and w. 2) G has no cycles and has n . vk ) does not create a cycle in F∪{vk . Suppose there are two paths v = v 1 . w) will create a cycle.1 vertices. In the latter case. By definition G has no cycles. vk)} since -1 vk . Thus a spanning tree can be obtained as a “growing tree”. F). … . Structure Theorems for Trees We obtain some structure theorems for trees. So G is equal to its spanning tree and has n . Proof (4) → (5).

and V1∩V2 = ∅. v2) in paths (1) through (4) respectively cannot exist since these would represent a cycle in T. tm-1. v2}. We claim that one of these paths does not contain e. … . … . … . then we could connect u to v1 by a path of the form (u. So we have that V1∪V2 = V. the existence of both of these paths is impossible since the combination of these paths in the form (v1. we have that E1 ⊂ E. (v2. v1) and (u. u1. tm-1.Lemma. u. v1. E) be a tree and let e = {v1. This means T1 is connected. v1. tm-1. So we have that E1 is a family of sets consisting of two vertices with each element of the pair in V1. So by definition t and u are in V1. v2). …. v1) with the edge e at the very end of (1) and the path connecting u with v2 must also be (u. v2) connecting u and v2. E\{e} = E1∪E2. if u ∈ V1∩V2. t1.v2. un-1. t1. then depending on which direction we run across the edge e = {v1. In particular. We also have that T1 is connected. v1) in T not containing e. t1. un-1. … . v1} Trees page 3 . So the path connecting u and v1 must be (u. u} ∈ E1. In fact. To verify this we show that V1∪V2= V.v1. However. v2) connecting u to v1 and u to v2 in T. Now we also have that V1∩V2 = ∅. u1. Let E1 be all edges of the paths of T not containing e that connects the vertices in V1 to v. t. v1. We show that T1 = (V1. E\{{v1. First we show that V1∪V2= V. u1. … . t1. we would have either the path (1) (u. … . … . we define V2 and E2 and show that there is a tree T2 = (V2. v1) or the path (2) (u. Now we have two trees T1 and T2. v2. Let V1 be the vertices of T which can be connected to v1 by a path not containing the edge e. However T is connected and so there are paths (u. t1. one of the paths from u to v1 or u to v2 does not contain e. … . We show that T1 and T2 are two the two disjoint trees in the statement of the Theorem. We have to who that there is either a path connecting v to v1 or a path connecting v to v2 and that this path does not contain the edge e. … . tm-1. u. v2) with v2 at the very end of (3). Thus. u1. un-1. v1) connecting u and v1. v1. v2) gives a cycle in T through u. … . … . v2. un-1. v1. tm-1. Now we have T1 is a subgraph of T. … . If {t. we would have either the path (3) (u. v1). … . Thus. (v1. un-1. E1) is a tree. each t and u in V1 can be connected to v1 by a path in E1. … . we have that u lies in V1 or V2. v1. … . This means that T1 is a graph. v2. Let u ∈ V. u1. if e where in both paths. similarly. So there can be no cycle in G1 since there is no cycle in E. v2. (v2. v2. t1. Let T = (V. v2) or the path (4) (u. tm . Similarly. v2} be an edge of T. … . So we have that t and u can be connected by a path in E1 (through v1). v2. v2}}) can be written as the union of two disjoint trees. In fact. … . the parts of the paths with (v1. … . Then the graph (V. E2). Indeed. … . v1). Proof. Thus T1 is a tree. However. then by definition there there is a path (s. First we have that T1 is nonvoid since it contains v1. … .

1 = n edges. Homework.D. s1. This means that E\{e1} ⊂ E1∪E2. v) ∈ E1.D. … . t1 . the vertex u can be connected to v1 by a path (u. Then the graph (V. v} ≠ e. Then (V. Q. s1 . We could also connect u to v2 by a path of the form (u. we have that k1 + k2 = n + 1. we have that T has (k1 . Let e be an edge of T.1) + (k2 . v. sn .1 edges and T2 has k2 – 1 edges.not containing e. Proof. we have that E1∪E2 = E\{e}. v2) not containing e. Since V is the disjoint union of V1 and V2. v1) not containing e. let {u.E. If a tree has n vertices. then it has n . Since T1 and T2 are trees with k1 and k2 vertices respectively with k1 ≤ n and k2 ≤ n. u) represents a cycle in T which is impossible. The Incidence Matrix of a Graph To every graph is associated an incidence matrix. Theorem. Suppose v ∈ V1. Since v can be connected to v1 by a path (v. vp} and E = {e1. we have that T1 has k1 . Proof. A companion to the preceding lemma is the following. … .1) + 1 = k1 + k2 .1 edges for every k ≤ n. E\{e}) may be written as the union of two trees T1 = (V1. Let T = (V.v} be a edge in E\{e}. E∪{e}) is a connected graph with one and only one cycle. The incidence matrix ℑ(G) of G is a p × q matrix A = (ai j) where Trees page 4 . Then either v ∈ V1 or v ∈ V2. sn. v1 .E. So we have that V1∩V2 = ∅. … .1 edges. E) be a graph with p vertices and q edge with V = {v1. Now assume that a tree with k vertices has k . Let G = (V. In fact. … . As the first step notice that a tree with one vertex has no edges and a tree with two vertices has 1 edge. E) with n + 1 vertices has n edges with n > 2. Since E\[e} is the disjoint union of E1 and E2. tm . We show that a tree T = (V. Let e be any edge in of G not in E. v2 . Since E1∪E2 ⊂ E\{e} is automatically true. Finally we have that E\{e} = E1∪E2. Q. E) be a spanning tree of the connected graph G. V1∩V2 =∅. But now (u. v1) not containing e and since {u. … . Lemma. eq}. … . So we have that (u. … . E1∪E2 = E\{e} and E1∩E2 = ∅. E1) and T2 = (V2. We prove this by induction on the number of vertices. Definition. E2) with V1∪V2 = V.

4) 0 0 1 1 0 (3. The following concept is important in relating the algebraic (incidence matrix) and the topological structure of a graph. Definition. 2) 1 1 0 0 0 (1. e6 = (3. Then there are at least two vertices of T with a valence of 1. then there are permutation matrices P and Q with ℑ = Pℑ′Q. 3) 1 0 1 0 0 (2. Corollary. Trees page 5 . it it had a row i equal to zero. 3). The valence of degree of a vertex in a graph is the number of edges of the graph that are incident on this vertex. The incidence matrix associated with a graph depends on the enumeration of the vertices and the edges. We therefore speak of the incidence matrix of a graph even though it is not unique. The sum of the valences of a graph is equal to twice the number of edges.e. Let T be a tree. We note that the incidence matrix of a connected graph must be irredundant. Indeed. Proposition. In any case we can assume that some enumeration of the vertices and edges has been chosen. the i would be incident on no edge and not connected to any other vertex. 4). It is impossible for a column to be 0. 2). 4) 0 1 0 1 0 (3. 3). e4= (2. 4). e2 = (1. 5) 0 0 1 0 1 where e1 = (1. 5). e5 = ( j = 0 1 if vi is incident with ej otherwise . Example. i.. it cannot have any row or column equal entirely to 0. e3 = (2. The valence of the ith vertex of a graph is the sum of the entries in the ith row of the incidence matrix. The graph G given by has incidence matrix 1 2 3 4 5 (1. 3) 0 1 1 0 0 (2. If the vertices and edges are enumerated in two different ways to give two incidence matrices ℑ and ℑ′.

An n × n matrix A is triangular if and only if {1. We need the following lemma that provides an induction step. Both are impossible. we we see that M1 is the incidence matrix for the tree T1 = (V1. Suppose that v(i) ≥ 2 for n -1 vertices vi. j(n)} so that in the matrix (n – s) × (n – s) matrix As–1 equal to the matrix A with rows {i(1). the entry ai(s). Lemma.1) and columns j(2). 4. Let T have n vertices vi. … . E1) with V1 = V\{vi(1)} and E1= E\{ej(1)}. we may suppose that we have chosen the path with the minimal number of vertices. … . ui+2. ui+1} with 1 < i < i + 1 < n with v = ui we obtain a contradiction. … . … . This means we can find find rows i(2). j(s – 1)} deleted. To see this. ui-1. the valences of v1. The incidence matrix ℑ of a tree T with n vertices has a nonsingular (n – 1) × (n – 1) triangular submatrix. … . On the other hand. i(n . we must have that ∑ v(i) ≥ 2n .1 edges. … . vn} and E = {e1. So we have that ∑ v(i) = 2(n . So we have that the path (u1. Proof. First we notice that T′ has no cycles since any cycle in T′ must be a cycle in T. Let v be a vertex of valence 1 in the tree T = (V.E. j(n -1) such that Ms – 1 equal to the matrix M with rows Trees page 6 . if ui-1 = ui+1. if ui-1 ≠ ui. Proof. … . we notice that the edge e cannot be equal to one of the interior edges. v5 are 2.2 + 1 = 2n . Suppose that we have proved this theorem if T has k vertices with k < n. E\{e}) is also a tree. Let T = (V. Theorem. In fact. … . Proof. un) in T with u1 = u and un = u′. un) is in T′. Let v(i) denote the valence of the vertex vi.1) and columns j(1). … . Now we show that a tree with n vertices has a nonsingular (n – 1) × (n – 1) triangular submatrix. On the one hand. … . i(s – 1)} and {j(2). Q. Then there is a path (u1. By the induction M1 has a triangular (n – 2) × (n – 2) triangular submatrix. … . The sum of the valences is 12 which is twice the number of edges.D. i(n . We have to show that T′ is a connected graph with no cycles. n} can be written as {i(1). j(s) is at most the only nonzero element in its row.1). By the preceding Corollary there is a row of M. Starting from M itself. ui} and {ui. i(s – 1)} and {j(1). j(n -1) such that Ms–1 equal to the matrix M1 with rows {i(2). Q. 3. en-1}. Then T′ = (V\{v}. un) would be a connecting path in T with fewer vertices. … . then we would have that v is incident on the two edges {ui-1.E. call it row i(1). j(s) is at most the only nonzero element in its row. … . Second we show that T′ is connected. … . Now we recall the criterion for triangularity.D. … . Proposition. i(n)} and {j(1). … .Proof. If we delete the i(1) row and the j(1) column from the incidence matrix to form the new matrix M′. that contains only one nonzero element in the column j(1). E) with V = {v1. We prove the theorem for a tree T with n vertices. The deleted edge e cannot be part of this path. E) and let e be the unique edge incident at v. we can find rows i(1). j(s – 1)} deleted. 2. then we would have that (u1. … . ui+1}. If e = {ui. In the preceding example.1 since the remaining vertex is indicent on some edge due to the fact that a tree is connected. But we have already seen that a tree with n vertices has n . 1 respectively. So it is impossible that there should be less than two vertices incident on only one edge. … . We obtain a contradiction. the entry ai(s). Since there are only finitely many paths connecting u and u′. Let u and u′ be vertices in T′. Chapter IX.

So we have the column space C of the incidence matrix ℑ of G is the direct sum of the column space Ci. Thus. n}\{i(1).. … . there the same (n – 1) × (n – 1) submatrix of the incidence matrix of G can be transformed to a lower triangle matrix with + 1 or – 1 along the diagonal by multiplication by the permutation matrices P and Q. So the dimension of the row space must be less than n. we have that the sum of all the rows is 0. By a previous result. There are two nonzero entries in the column. we have that no row of an incident matrix has a 0 row. j(s) place. which are the columns of M′ with the addition of an extra i0 coordinate. j(s – 1)} deleted. w). … . We now treat the general case.. Thus. Further we notice that Ci)∩Cj = ∅ if i ≠ j.{i(1). First we treat a special case of the theorem. The i.e. it has a spanning tree T. Now we prove that rank ℑ ≥ n . C = ∑⊕Ci. the graphs Gi have no edges in common. … . The sum of the rows is 0. This means that the successive submatrices Ms in the preceding Theorem have 1 in the i(s). We show that the incidence matrix ℑ of a connected graph with n vertices is n . The columns of Ci contain only the rows corresponding to the vertices Vi. the rank of incidence matrix is Card Vi . we if the tree has more than one vertex. Q. Now we have that Gi is a is a connected graph. Here we are considering G without the directed property.e.m where m is the number of components of the graph. The incidence matrices ℑi of the Gi = (Vi. i. viz. the entry ai(s). Corollary. i(s – 1)} and {j(1). j entry of the incidence matrix is 1 if and only if the vertex vi is incident on the edge vj. 1 in the row corresponding to v and – 1 in the row corresponding to w. Here P and Q are certain permutation matrices P and Q. i(s – 1)}. Proof. Therefore. it is only in these rows where the nonzero entries of the columns Ci occur. However. So the incidence matrix of G has a submatrix of rank n – 1. We note that ∪Ci is the set of all columns of the incidence matrix of G. the only row not appearing in the list {i(1). j(s) is at most the only nonzero element in its row. there is an (n – 1) × (n – 1) submatrix ℑ′′ of ℑ′ formed by deleting one row of ℑ such that Pℑ′′Q is lower triangular with 1's along the diagonal. is triangular since it satisfies the conditions of the triangulation algorithm. Since each vertex of a tree is incident on some edge. So we have that rank (Incidence matrix ℑ) = ∑ rank (Incidence matrix ℑi) Trees page 7 . To see this. So the sum of the entries in this column is 0. Thus. i(s – 1)} deleted.D.1. Theorem. Thus G has rank at least equal to n – 1.D. The column vectors of the incidence matrix of a tree are linearly independent. Call this matrix ℑ′. The rank of the incidence matrix of a graph with n vertices is equal to n .E. This means that matrix M′ equal to M with the row i0 = {1. The incidence matrix for the spanning tree is the incidence matrix of G with some of the columns of G deleted and with the – 1 that appear in the incidence matrix of G changed to + 1.E. So M′ has determinant 1. … . Since |G| is connected. Thus the matrix M′ is nonsingular or equivalently has linearly independent columns. Suppose that G has connected components G1. Gm.. are linearly independent. … . Indeed. we examine a column e = (v. In fact PℑQ is a lower triangular matrix with +1 or -1 along the diagonal and thus has a determinant equal to +1 or -1. … . This means that the matrix M′ when put in triangular form by multiplication on the left and right by permutation matrices has one on the diagonal. i. the columns of M.1. Q. Ei) correspond to the set Ci of columns of the incidence matrix of G. These are precisely the columns given by the indices corresponding to the edges in Ei.1. Proof.

The converse really requires no work. If the rank ℑ = n . The graph with two connected components and 7 vertices given below as Q. has incidence matrix 1 1 2 -1 3 0 4 0 5 0 6 0 7 0 Rank 3 1 0 -1 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 1 0 -1 0 0 0 0 0 .D.m.m.2 = 5.1) s=1 = n .m = ∑ (Card Vi . Example.E. 1 -1 Rank 2 which has rank 7 . Trees page 8 . then m must be the number of components of G.