Graph Theory with Applications to Engineering and Computer Science. Front Cover. Narsingh Deo. Courier Dover Publications, Mar 9, - Mathematics - Title Slide of Graph theory narsingh deo. CS graph theory and applications notes pdf book. appasami. Graph theory. Kumar. Cs By: Narsingh Deo Share this book: Share on Google+ This outstanding introductory treatment of graph theory and its applications has had a long life in the.
|Language:||English, Spanish, Hindi|
|Genre:||Health & Fitness|
|ePub File Size:||27.66 MB|
|PDF File Size:||20.28 MB|
|Distribution:||Free* [*Register to download]|
NARSINGH DEO. Computer Science Graph theory with apphcauons to engineering and computer science. All rights reserved. No part of this book may be. graph theory by narsing deo - Ebook download as PDF File .pdf), Text File .txt) or read book online. Graph Theory with Applications to Engineering and Compute and millions of other books are available for site Kindle. Graph Theory with Applications to Engineering and Computer Science (Dover Books on Mathematics) Paperback – August 17, Topics include paths and circuits.
Add to Wishlist. Narsingh Deo. This product has limited availability outside the US. Click here for details. Product Description Product Details This outstanding introductory treatment of graph theory and its applications has had a long life in the instruction of advanced undergraduates and graduate students in all areas that require knowledge of this subject. The first nine chapters constitute an excellent overall introduction, requiring only some knowledge of set theory and matrix algebra.
Show related SlideShares at end. WordPress Shortcode. Umang Gupta Follow. Published in: Full Name Comment goes here. Are you sure you want to Yes No. Show More. Rajeshwari N. Descent Hamza. No Downloads. Views Total views. Actions Shares. Embeds 0 No embeds. No notes for slide. You just clipped your first slide!
Clipping is a handy way to collect important slides you want to go back to later. Now customize the name of a clipboard to store your clips. Visibility Others can see my Clipboard. Seshu and Reed , Chapter 2. For arbitrarily traceable graphs, one should read Ore's paper . Additional information on properties of Hamiltonian graphs can be found in papers by Tutte , Ore , Smith and Tutte , and Dirac .
Chapters 4 and 5 of Tutte's book  are also devoted to paths and Euler paths. On the traveling-salesman problem there are many papers. In an excellent survey Bellmore and Nemhauser  summarize and list most of these papers.
Deo and Hakimi  generalized the Hamiltonian-path problem and applied it to a wiring problem in computers. A " Survey," Operations Res. DEO, N. Oxford, Ser. LIN, S. Elementary Math. Monthly, Vol. London Math. Verify that the two graphs in Fig. Label the corresponding vertices and edges. Show by redrawing, step by step, that graphs b and c in Fig.
Show that the two graphs in Figs. Prove that any two simple connected graphs with n vertices, all of degree two, are isomorphic. Are the two graphs in Fig.
Given the set of cubes represented by the graph in Fig. Use Theorem Prove that a connected graph G remains connected after removing an edge ei from G, if and only if e, is in some circuit in G.
Draw a connected graph that becomes disconnected when any edge is removed from it. Prove that a graph with n vertices satisfying the condition of Problem is a simple, and b has exactly n - 1 edges.
What is the length of the path from the entrance Problem ? List all the different paths between vertices 5 and 6 in Fig.
Give the length of each of these paths. Group the paths listed in Problem into sets of edge-disjoin strate that the union of two edge-disjoint paths between a circuit. Let a, b, and c be three distinct vertices in a b and also there is a path between band c. Prove If the intersection of two paths is a disconnec two paths has at least one circuit. You are given a to-piece domino set whose 1,2 ; 1,3 ; 1,4 ; 1,5 ; 2,3 ; 2,4 ; 2,5 nM.
Is it possible to move a knight on a chessboard such. A move between two squares is counted as one regardless of the direction in which it is made. Is the graph of Problem un icursal? A round-robin tournament when every player plays against every other among n players n being an even number can be represented by a complete graph of n vertices.
Discuss how you would schedule the tournaments to finish in the shortest possible time. Observe that there can be no path longer than a Hamiltonian path if it exists in a graph.
Draw a graph that has a Hamiltonian path but does not have a Hamiltonian circuit. Show that neither of the graphs in Fig. For Fig. Count the number of edges that have to be excluded. You will find that 13 edges must be excluded from Fig. The number of remaining edges is insufficient to form a Hamiltonian circuit. Draw a graph in which an Euler line is also a Hamiltonian say about such graphs in general? What can you. Is it possible, starting from any of the 64 squares of the chessboard, to move a knight such that it occupies every square exactly once and returns to the initial position?
If so, give one such tour. Look for a Hamiltonian circuit in the graph of Problem Prove that a graph G with n vertices always has a Hamiltonian path if the sum of the degrees' of every pair of vertices Vi, Vj in G satisfies the condition d Vi. First show that G is connected. Then use induction on path length in G. Using the result of Problem , show that in a dancing ring of n children it is always possible to arrange the children so that everyone has a friend at each side if every child enjoys friendship with at least half the children.
The concept of a tree is probably the most important in graph theory, especially for those interested in applications of graphs. In the first half of this chapter we shall define a tree and study its properties. As usual, we shall point out some of its applications to simple situations and puzzles and games, deferring the applications to more complex scientific problems till Chapter Other graph-theoretic terms related to trees will also be introduced and discussed.
The second part of the chapter introduces the spanning tree-another important notion in the theory of graphs. The relationships among circuits, trees, and so on, in a graph are explored. Unavoidably, as with Chapters 1 and 2, this chapter also has a large number of definitions. In studying any new branch of mathematics, there is no way to avoid new terms and definitions.
A tree is a connected graph without any circuits. Trees with one, two, three, in Fig. As pointed out in Chapter 1, a graph m and therefore so must a tree. Some authors a any vertices. We have excluded such an enti as we are considering only finite graphs, our t It follows immediately from the defini.
Trees appear in numerous instances. The A river with its tributaries and subtributaries can be represented by a tree. The sorting of mail according to zip code and the sorting of punched cards are done according to a tree called decision tree or sorting tree. Figure might represent the flow of mail. All the mail arrives at some local office, vertex N. Each pile is further divided into 10 piles according to the second most significant digit, and so on, till the mail is subdivided into lOs possible piles, each representing a unique five-digit zip code.
Tn many sorting problems we have only two alternatives instead of 10 as in the preceding example at each intermediate vertex, representing a dichotomy, such as large or small, good or bad, 0 or I. Such a decision tree with two choices at each vertex occurs frequently in computer programming and switching theory. We shall deal with such trees and their applications in Section Let us first obtain a few simple but important theorems on the general properties of trees.
There is one and only one path between every pair of vertices in a tree, T.
Since T is a connected graph, there must exist at least one path between every pair of vertices in T. Now suppose that between two vertices a and b of T there are two distinct paths. The union of these two paths will contain a circuit and T cannot be a tree. If in a graph G there is one and only one path between every G is a tree. Existence of a path between every pair of connected. A circuit in a graph with two or more at least one pair of vertices a, b such that there and b.
Since G has one and only one path bet wee have no circuit. Therefore, G is a tree. Assume that the theorem holds for all trees with fewer than n vertices. Let us now consider a tree T with n vertices. Therefore, deletion of ek from T will disconnect the graph, as shown in Fig. Furthermore, T - e k consists of exactly two components, and since there were no circuits in T to begin with, each of these components is a tree. Both these trees, t i and t z, have fewer than n vertices each, and therefore, by the induction hypothesis, each contains one less edge than the number of vertices in it.
Thus T - ek consists of n - 2 edges and n vertices. Hence T has exactly n - 1 edges. You may have noticed another important feature of a tree: A connected graph is said to be minimally connected if removal of anyone edge from it disconnects the graph.
A minimally connected graph cannot have a circuit; otherwise, we could remove one of the edges in the circui graph connected. Thus a minimally connected graph. Therefore, implies that G is not a tree.
A graph is a tree if and only if it is minimal The significance of Theorem is obvi to interconnect n distinct points, the minimum needed is n - 1. It requires no background in el. The resulting structure, according to Theorem , is a tree. We showed that a connected graph with n vertices and without any circuits has n - 1 edges.
We can also show that a graph with n vertices which has no circuit and has n - 1 edges is always connected i. A graph G with n vertices, n - 1 edges, and no circuits is connected. Proof' Suppose there exists a circuitless graph G with n vertices and n - 1 edges which is disconnected. In that case G will consist of two or more circuitless components. Without loss of generality, let G consist of two components, gl and g2. Add an edge e between a vertex VI in gl and V2 in g2 Fig.
Since there was no path between VI and V2 in G, adding e did not create a circuit. Thus G u e is a circuitless, connected graph i. That is, a graph G with n vertices is called a tree if. G is connected and is circuitless, or 2.
G is connected and has n 3. G is circuitless and has n -. The reason is that in a tree of n vertices we have n - 1 edges, and hence 2 n - 1 degrees to be divided among n vertices. Since no vertex can be of zero degree, we must have at least two vertices of degree one in a tree.
In any tree with two or more vertices , there are at The following problem is programming. Given a sequence of integers, find the largest monotonically increasing subs sequence given to us is 4, 1, 13, 7, 0, 2, 8, 11, in which the vertices except the start in the sequence, and the path from the start describes the monotonically increasing su shown in Fig. Each is of length four. Such a tree used in to as a data tree by computer programmers.
An Application:. The tree in Fig. Intuitively, it seems that vertex b is located more "centrally" than any of the other three vertices. We shall exa. Inherent in the concept of a center is the idea of "distance," so we must define distance before we can talk of a center. In a connected graph G, the distance d vj, Vj between two of its vertices Vi and Vj is the length of the shortest path i. The definition of distance between any two vertices is valid for any connected graph not necessarily a tree.
In a graph that is not a tree, there are generally several paths between a pair of vertices. We have to enumerate all these paths and find the length of the shortest one. There may be several shortest paths.
For instance, some of the paths between vertices VI and V2 in Fig. In a tree, since there is exactly one path between any two vertices Theorem , the determination of distance is much easier. For instance, in the tree of Fig. Before we can legitimately call a function lex, y of two variables a "distance" between them, this function must satisfy certain requirements.
These are A Metric:. That the distance d vj' Vj between two vertices of a connected graph satisfies conditions I and 2 is immediately evident. The distance between vertices of a connected graph is a metric.
Coming back to our original topic of relative location of different vertices in a tree, let us define another term called eccentricity also referred to as associated number or separation of a vertex in a graph.
Theeccentricity E v of a vertex v in a graph G is the distance from v to the vertex farthest from v in G; that is, E v. A vertex with minimum eccentricity in graph G is called a center of G. The eccentricities of the four vertices in Fig. Hence vertex b is the center of that tree. On the other hand, consider the tree in Fig.
The eccentricity of each of its six vertices is shown next to the vertex. This tree has two vertices having the same minimum eccentricity. Hence this tree has two centers. Some authors refer to such centers as bicenters; we shall call them just centers, because there will be no occasion for confusion.
The reader can easily verify that a graph, in general, has For example, in a graph that consists of just a circuit a is a center. I n the case of a tree, however, Konig [1theorem: The maximum distance, max d v, Vi , from other vertex Vi occurs only when Vi is a pendant ver us start with a tree T having more than two verti more pendant vertices Theorem Delete all t resulting graph T' is still a tree.
What about the A little deliberation will reveal that removal of all reduced the eccentricities of the remaining vert Therefore, all vertices that T had as centers wi T' we can again remove all pendant vertices and this process which is illustrated in Fig. From the argument used in proving Theorem , we see that if a tree T has two centers, the two centers must be adjacent.
A Sociological Application: Suppose that the communication among a group of ]4 persons in a society is represented by the graph in Fig. Since the graph is connected, we know that all the members can be reached by any member, either directly or through some other members. But it is also important to note that the graph is a tree-minimally connected. The group cannot afford to lose any of the communication links. The eccentricity of each vertex, E v , represents how close v is to the farthest member of the group.
Radius and Diameter: If a tree has a center or two centers , does it have a radius also? The eccentricity of a center which is the distance from the center of the tree to the farthest vertex in a tree is defined as the radius of the tree.
For instance, the radius of the tree in Fig. The diameter of a tree T, on the other hand, is defined as the length of the longest path in T. It is left as an exercise for the reader Problem to show that a radius in a tree is not necessarily half its diameter. A tree in which one vertex called the root is distinguished from all the others is called a rooted tree.
For instance, in Fig. Hence N can be considered the root of the tree, and so the tree is rooted. Similarly, in Fig. In a diagram of a rooted tree, the root is generally marked distinctly. We will show the root enclosed in a small triangle. All rooted t are shown in Fig. Generally, the term tree mea However, for emphasis they are sometimes call trees to differentiate them from the rooted kind. Binary Trees: A special class of rooted trees, called binary rooted trees, is of particular interest, since they are extensively used in the study of computer search methods, binary identification problems, and variable-length binary codes.
A binary tree is defined as a tree in which there is exactly one vertex of degree two, and each of the remaining vertices is of degree one or three Fig. Obviously, we are talking about trees with three or more vertices. Since the vertex of degree two is distinct from all other vertices, this vertex serves as a root. Thus every binary tree is a rooted tree. Two properties of binary trees follow directly from the definition: The number of vertices n in a binary tree is always odd. This is because there is exactly one vertex of even degree, and the remaining n - 1 vertices are of odd degrees.
Since from Theorem the number of vertices of odd degrees is even, n - I is even. Hence n is odd. Let p be the number of pendant vertices in a binary tree T. Then n - p - 1 is the number of vertices of degree three. Therefore, the number of edges in T equals 2[P.
A nonpendant vertex in a tree is called an internal vertex. It follows from Eq. In a binary tree a vertex Vi is said to be at level I, if Vi is at a distance of I, from the root. Thus the root is at level O. A I3-vertex, four-level binary tree is shown in Fig. The number of vertices at levels 1, 2, 3, and 4 are 2, 2, 4, and 4, respectively. One of the most straightforward applications of binary trees is in search procedures.
Each vertex of a binary tree represents a test with two possible. We start at the root, and the outcome of the test at the root sends us to one of the two vertices at the next level, where further tests are made, and so on. Reaching a specified pendant vertex the goal of the search terminates the search. For such a search procedure it is often important to construct a binary tree in which, for a given number of vertices n, the vertex farthest from the root is as close to the root as possible.
Clearly, there can be only one vertex the root at level 0, at most two vertices at levell, at most four vertices at level 2, and so on. Therefore, the maximum number of vertices possible in a k-Ievel binary tree is. The maximum level, [max, of any vertex in a binary tree is called the height of the tree.
It is easy to see that the minimum possible height of an n-vertex binary tree is min lmax. On the other hand, to construct a binary tree for a given n such that the farthest vertex is as far as possible from the root, we must have exactly two vertices at each level, except at the 0 level. In analysis of algorithms we are generally interested in computing the sum of the levels of all pendant vertices.
This quantity, known as the path length or external path length of a tree, can be defined as the sum of the path lengths from the root to all pendant vertices. The path length of the binary tree in Fig. The path lengths of trees in Figs. The importance of the path length of a tree lies in the fact that this quantity is often directly related to the execution time of an algorithm. It can be shown that the type of binary tree in Fig.
Weighted Path Length: Let us illustrate the significance of this problem with a simple example. A Coke machine is to identify, by a sequence of tests, the coin that is put into the machine. Only pennies, nickels, dimes, and quarters can go through the slot. Let us assume that the probabilities of a coin being a penny, a nickel, a dime, and a quarter are.
Each test has the effect of partitioning the four types of coins into two complementary sets and asserting the unknown coin to be in one of the two sets. Thus for four coins we have 23 - 1 such tests. If the time taken for each test is the same, what sequence of tests will minimize the expected time taken by the Coke machine to identify the coin? The solution requires the construction of a binary vertices and therefore three internal vertices v -. The solution is the expected time is I.
In this problem of a Coke machine, many. For example, not all possible tests may be a or they may not albO consume the same time. Binary trees with minimum weighted path length. For more on minimumpath binary trees and their applications the reader is referred to  and. Corresponding to their chemical valencies, a carbon atom was represented by a vertex of degree four and a hydrogen atom by a degree one pendant vertices. The total number of vertices in su.
The first question Cayley asked was: The reader can satisfy himself that there are no more trees of four vertices. Of course, some of these trees are isomorphic-to be discussed later.
A graph in which each vertex is assigned a unique name or label i. The distinction between a labeled and an unlabeled graph is very important when we are counting the number of different graphs. For instance, the four graphs in the first row in Fig.
If there A B A. A careful inspection of the graphs in Fig. But first we shall continue with counting labeled trees. The following well-known theorem for counting trees was first stated and proved by Cayley, and is therefore called Cayley's theorem. Proof; The result was first stated and proved by Cayley.
Many different proofs. An excellent summary of 10 such proofs is given by Moon . We will give one proof in Chapter Unlabeled Trees: In addition to the constraints on the degree of the vertices, two observations should be made: Since the vertices representing hydrogen are pendant, they go with carbon atoms only one way, and hence make no contribution to isomerism.
Therefore, we need not show any hydrogen vertices. In this tree no distinction can be made between vertices, and therefore it is unlabeled. Thus for butane, C4H10' there are only two distinct trees Fig. As every organic chemist knows, there are indeed exactly two different types of butanes: It may be noted in passing that the four trees in the first row of Fig.
The problem of counting trees of different types will be taken up again and discussed more thoroughly in Chapter So far we have discussed the tree and its properties when it occurs as a graph by itself. Now we shall study the tree as a subgraph of another graph. A given graph has numerous subgraphs-from e edges, 2e distinct combinations are possible.
Obviously, some of these subgraphs will be trees.
Out of these trees we are particularly interested in certain types of trees, called spanning trees-as defined next. A tree T is said to be a spanning tree of a connected graph G if T is a subgraph of G and T contains all vertices of G. For instance, the subgraph in heavy lines in Fig. Since the vertices of G are barely hanging together in a spanning tree, it is a sort of skeleton of the original graph G.
This is why a spanning tree is sometimes referred to as a skeleton or scaffolding of G. Since spanning trees are the largest with maximum number of edges trees among all trees in G, it is also quite appropriate to call a spanning tree a maximal tree subgraph or maximal tree of G.
It is to be noted that a spanning tree is defined only for a connected graph, because a tree is always connected, and in a disconnected graph of n vertices we cannot find a connected subgraph with n vertices. Each component which by definition is connected of a disconnected graph, however, does have a spanning tree. Thus a disconnected graph with k components has a spanning forest consisting of k spanning trees.
A collection of trees is called a forest. Finding a spanning tree of a connected graph G is simple. If G has no circuit, it is its own spanning tree. If G has a circuit, delete an edge from the circuit.
This will still leave the graph connected Problem If there are more circuits, repeat the operation till an edge from the last circuit is deleted-leaving a connected, circuit-free graph that contains G.
Thus we have. Every connected graph has at least one spanning tree. An edge in a spanning tree Tis called a branch of T. An edge of G that is not in a given spanning tree Tis called a chord. In electrical engineering a chord is sometimes referred to as a tie or a link. For instance, edges b. It must be kept in mind that branches and chords are defined only with respect to a given spanning tree.
Since the subgraph is the collection of chords, it is quite appropriately referred to as the chord set or tie set or co tree of T. From the definition, and from Theorem , the following theorem is evident. For example, the graph in Fig. Any other spanning tree will yield the same numbers. If we have an electric network with e elements edges and n nodes vertices , what is the minimum number of elements we must remove to eliminate all circuits in the network?
The answer is e - n I. Similarly, if we have a farm consisting of six walled plots of land, as shown in Fig.
Breaking these six walls will drain the water out. Rank and Nullity: When someone specifies a graph G, the first thing he is most likely to mention is n, the number of vertices in G. Immediately following comes e, the number of edges in G. Then k, the number of components G has. How are these three numbers of a graph related? Moreoever, the number of edges in a component can be no less than the number of vertices in that component minus one.
Needless to mention, these numbers alone are not enough to specify a graph, except for trivial cases. From these three numbers are derived two other important numbers called rank and nullity, defined as. You may have noticed that if we add an edge a tree say, in Fig.
This i one path between any two vertices of a tree; creates an additional path, and hence a circui it is not difficult to prove THEOREM. Let us now consider a spanning tree T in a connected graph G. Adding anyone chord to T will create exactly one circuit. Such a circuit, formed by adding a chord to a spanning tree, is called afundamental circuit. How many fundamental circuits does a graph have? How many circuits does a graph have in all? We know that one circuit is created by adding anyone chord to a tree.
Suppose that we add one more chord. Will it create exactly one more circuit? What happens if we add all the chords simultaneously to the tree?
Let us look at the tree [bl' b2, b4, b6l in Fig. Adding CI to it, we get a subgraph [bl' b2, b3, b4, bs, b6, cll, which has one circuit fundamental circuit , [bl' b2, b3, bs, C Il. Had we added the chord C2 instead of C I to the tree, we would have obtained a different fundamental circuit, fb2, b3, b. Now suppose that we add both chords C I and C2 to the tree. The subgraph [bl' b2, b3, b4, bs, b6, C1, c2l has not only the fundamental circuits we just mentioned, but it has also a third circuit, fbI' C I' c2l, which is not a fundamental circuit.
Although there are 75 circuits in Fig. Two comments may be appropriate here. First, a circuit is a fundamental circuit only with respect to a given spanning tree.
A given circuit may be fundamental with respect to one spanning tree, but not with respect to a different spanning tree of the same graph.
Although the number of fundamental circuits as well as the total number of circuits in a graph is fixed, the circuits that become fundamental change with the spanning trees. Second, in most applications we are not interested in all the circuits of a graph, but only in a set of fundamental circuits, which fortuitously are a lot easier to track.
The concept of a fundamental circuit, introduced by Kirchhoff, is of enormous significance in electrical network analysis. What Kirchhoff showed, which now every sophomore in electrical engineering knows, is that no matter how many circuits a network contains we need consider only fundamental circuits with respect to any spanning tree. The rest of the circuits as we shall prove rigorously in Chapter Usually, in a given connected graph there trees. In many applications we require all way to generate spanning trees of a graph is tree, say tree TI a b cd in Fig.
Add a forms a fundamental circuit b c h d in Fig. Such a transformation is a standard operation in the iteration sequence for solving certain transportation problems. In the above procedure, instead of deleting branch c, we could have deleted d or b and thus would have obtained two additional spanning trees abc h and a c h d. Moreover, after generating these three trees, each with chord h in it, we can restart with T, and add a different chord e,f, or g and repeat the process of obtaining a different spanning tree each time a branch is deleted from the fundamental circuit formed.
Thus we have a procedure for generating spanning trees for any given graph. As we shall see in Chapter 13, the topological analysis of a linear electrical network essentially reduces to the generation of trees in the corresponding graph. Therefore, finding an efficient procedure for generating all trees of a graph is a very important practical problem. The procedure outlined above raises many questions.
Can we start from any spanning tree and get a desired spanning tree by a number of cyclic exchanges? Can we get all spanning trees of a given graph in this fashion? How long will we have to continue exchanging edges? Out of all possible spanning trees that we can start with, is there a preferred arting?
Let us try to answer some of these questions; others wil il Chapters 7, 10, and II. The distance between two spanning trees T,. Then, from definition,. It is not difficult to see that the number d T;, Tj is the minimum number of cyclic interchanges involved in going from T; to T'; The reader is encouraged. Starting from any spanning tree of a graph G, we can obtain every spanning tree of G by successive cyclic exchanges.
Since in a connected graph G of rank r i. Also, if p, is the nullity of G, we know that no more than f-l edges of a spanning tree T; can be replaced to get another tree T'; Hence combining the two,. For a spanning. The concept of a central tree is useful in graph.
A central tree in a graph is, in general, tral trees the reader should see  and . Tree Graph: The tree graph of a given graph. From Theorem we know that starting from any spanning tree we can obtain all other spanning trees through cyclic interchanges or elementary tree transformations. Therefore, the tree graph of any given finite, connected graph is connected. For additional properties of tree graphs, the reader should see .
As discussed earlier in this chapter, a spanning tree in a graph G is a minimal subgraph connecting all the vertices of G.
If graph G is a weighted graph i. In general, different spanning trees of G will have different weights. Among all the spanning trees of G, one with the smallest weight is of practical significance. There may be several spanning trees with the smallest weight; for instance, in a graph of n vertices in which every edge has unit weight, all spanning trees have a weight of n - 1 units.
A spanning tree with the smallest weight in a weighted graph is called a shortest spanning tree or shortest-distance spanning tree or minimal spanning tree. One possible application of the shortest spanning tree is as follows: The cost cij of building a direct road between Vi and Vj is given for all pairs of cities where roads can be built. There may be pairs of cities between which no direct road can be built. The problem is then to find the least expensive network that connects all n cities together.
It is immediately evident that this connected network must be a tree: Thus the problem of connecting n cities with a least expensive network is the problem of finding a shortest spanning tree in a connected weighted graph of n sary and sufficient condition for a spanning tree to be THEOREM.
The necessary or the "only if" conditi get another tree shorter than T by a cyclic inte is also sufficient is remarkable and is not obvious. Let T, be a spanning tree in G satisfying the hy there is no spanning tree at a distance of one from. Clearly, T2 must also satisfy the hypothesis of the theorem otherwise there will be a spanning tree shorter than T2 at a distance of one from T2, violating the assumption that T2 is shortest.
Because of the minimality assumption on T 2 weight of bj cannot be less than that of e. Therefore bj must have the same weight as e. This proves that if none of the spanning trees at a unit distance from T is shorter than T, no spanning tree shorter than T exists in the graph. There are several methods available for actually finding a shortest spanning tree in a given graph, both by hand and by computer. One algorithm due to Kruskal  is as follows: List all edges of the graph G in order of nondecreasing weight.
Next, select a smallest edge of G. Then for each successive step select from all remaining edges of G another smallest edge that makes no circuit with the previously selected edges. Continue until n - 1 edges have been selected, and these edges will constitute the desired shortest spanning tree. The validity of the method follows from Theorem Another algorithm, which does not require listing all edges in order of nondecreasing weight or checking at each step if a newly selected edge forms a circuit, is due to Prim .
Note that the entries in the table are spect to the diagonal, and the diagonal is empty. Start from vertex VI and connect it to it vertex which has the smallest entry in row I ble , say vk. A connected weighted graph with 6 vertices and 12 edges is shown in Fig. The weight of its edges is tabulated in Fig. Let us pick vpvs ' [Had we picked VI' v2 we would have obtained a different shortest tree with the same weight. The three remaining edges selected following the above procedure turn out to be V4' v6 , V4' v3 , and v3, v2 in that sequence.
The resulting tree-a shortest spanning tree-is shown in Fig. The weight of this tree is Degree-Constrained Shortest Spanning Tree: In some practical cases an upper limit on the degree of every vertex of the resulting spanning tree has to be imposed. For instance, in an electrical wiring problem, one may be required to wire together n pins using as little wire as possible with no more than three wires wrapped around any individual pin. Thus, in this particu d vJ. Such a spanning tree is called a degree-constra In general, the problem may be stated as neeted graph G, find a shortest spanning tree d vJ.
So far, no efficient method of finding an arbitrarily degree-constrained shortest spanning tree has been found. This chapter dealt with a particular type of connected graph called a tree.
Because of their wide applications, trees form the most important topic in graph theory. Different types of trees, such as labeled and unlabeled, rooted and unrooted, were discussed, together with their properties and applications. Of special interest are those trees that are subgraphs of a given connected graph G containing all vertices of G. Such trees are called spanning trees of G.
Finding all spanning trees of a given graph is of great practical importance, and so is the problem of finding a shortest spanning tree in a given weighted graph.
Other related concepts, such as centers, radius, and diameter of a tree, rank and nullity of a graph, fundamental circuits, branches and chords, cyclic interchange, distance between spanning trees, and tree graphs, were also introduced and studied. Trees, spanning trees, and fundamental circuits will continue to appear from time to time in most of the succeeding chapters.
Especially recommended are 1. Berge , Chapters 12, 13, and Busacker and Saaty , Sections ,,,,,, 3. Harary , Chapters 4, 15, and Appendix 3. Ore , Chapter 4, Sections 2. Ore , Chapter 3. The importance of trees in information storage and processn book , pages , and in . For counting trees of of Riordan's book , and also see references given' elegant algorithm for finding a binary tree with minim given by Huffman in .
On algorithms for genera in this book and the references cited there. Moon  g formula for counting trees. For treatment of distance between refer to Deo  and Amoia and Cottafava . Kruskal's  and Prim's study of shortest spanning trees. Circuit Theory, Vol. CT, No. Machine Intelligence, Vol. Hu, T. Harary, ed. PRIM, R. It can be shown that there are only six different nonisomorphic Two such trees are given in Fig.
Draw the other four. Prove Theorem Show a tree in which its diameter is not equal to twice the radius. Under what condition does this inequality hold? Cite three different situations games, activities, or problems that can be represented by trees. How many isomers does pentane CSH12 have? Hexane, C6 Suppose you are given eight coins and are told that weight, and one coin is either heavier or lighter t with an equal-arm balance, which you may use coins.
Sketch a strategy in the form of a Distribute the 11 vertices levels. Observe that level 0 has exactly one level 2 can have either two or four vertices; and two of them are shown in Fig. Show that a path is its own spanning tree. Prove that a pendant edge an edge whose one end vertex is of degree one in a connected graph G is contained in every spanning tree of G. Prove that any subgraph g of a connected graph G is contained in some spanning tree of G if and only if g contains no circuit.
What is the nullity of a complete graph of n vertices? Show that a Hamiltonian path is a spanning tree. Prove that any circuit in a graph G must have at least one edge in common with a chord set. List all fundamental circuits with respect to this new spanning tree. Show that the distance between two spanning trees as defined in this chapter is a metric. Can you construct a graph if you are given all its spanning trees? Prove that the nullity of a graph does not change when you either insert a vertex in the middle of an edge, or remove a vertex of degree two by merging two edges incident on it.
Prove thatany given edge of a connected graph G is a branch of some spanning tree of G. Is it also true that any arbitrary edge of G is a chord for some spanning tree of G?
Suggest a method for determining the total number of spanning trees ofa connected graph without actually listing them. This fact is expressed by the statement that the chromatic number of a tree is two. Suppose that you are given a set of n positive integers. State some necessary conditions of this set so that the set can be the degrees of all the n vertices of a tree.
Are these conditions sufficient also? Let v be a vertex in a connected graph G. Prove that there exists a spanning tree T in G such that the distance of every vertex from v is the same both in G and in T.
Let T, and T2 be two spanning trees of a connected graph G. If edge e is in T, but not in T2, prove that there exists another edge f in T2 but not in T, such that subgraphs T, - e U f and T2 - f U e are also spanning trees of G. Construct a tree graph with 16 vertices, each corresponding of a labeled complete graph of four vertices. In the tree graph obtained in Problem , observe t covered by R. A tree graph has at I and an arbitrary edge of a tree graph can be incl In a given connected weighted graph G, s weight is smaller than that of any other in G.
Let G be a connected weighted graph in which If ei is the edge with weight greater than that shortest spanning tree in G will contain er. Show by constructing counterexamples that i cannot be said of the second smallest and the to a tree in Fig.
Use the algorithm ofKruskal, as outlined in this chapter, to find a shortest spanning tree in the graph of Fig. Pick 15 large cities in the United States and obtain the intercity distances from an atlas.
Find the shortest spanning tree connecting these cities by using a Kruskal's method, and b Prim's method. Compare their relative efficiencies. In Chapter 3 we studied the spanning tree-a special type of subgraph of a connected graph G-which kept all the vertices of G together. In this chapter we shall study the cut-set-another type of subgraph of a connected graph G whose removal from G separates some vertices from others in G. Properties of cut-sets and their applications will be covered.
Other related topics, such as connectivity, separability, and vulnerability of graphs, will also be discussed. In a connected graph G, a cut-set is a set of edgest whose removal from G leaves G disconnected, provided removal of no proper subset of these edges disconnects G.
To emphasize the fact that no proper subset some authors refer to a cut-set as a minimal simple cut-set. Sometimes a cut-set is also call the term cut-set. A cut-set always "cuts" a graph into two. Another way of looking at a cut-set is this: For example, in Fig. Note that one or both of these two subsets of vertices may consist of just one vertex. Since removal of any edge from a tree breaks the tree into two parts, every edge of a tree is a cut-set. Cut-sets are of great importance in studying properties of communication and transportation networks.
Suppose, for example, that the six vertices in Fig. We wish to find out if there are any weak spots in the network that need strengthening by means of additional telephone lines. We look at all cut-sets of the graph, and the one with the smallest number of edges is the m 'g.
Consider a spanning tree T in a co set S in G. Is it possible for S not to have any answer is no. Otherwise, removal of the cut-set nect the graph. Every cut-set in a connected graph G must contain at least one branch of every spanning tree of G. Will the converse also be true? In other words, will any minimal set of edges containing at least one branch of every spanning tree be a cut-set?
The answer is yes, by the following reasoning: In a given connected graph G, let Q be a minimal set of edges containing at least one branch of every spanning tree of G. Consider G - Q, the subgraph that remains after removing the edges in Q from G. Since the subgraph G - Q contains no spanning tree of G, G - Q is disconnected one component of which may just consist of an isolated vertex.
Also, since Q is a minimal set of edges with this property, any edge e from Q returned to G - Q will create at least one spanning tree. Thus the subgraph G - Q e will be a connected graph.
Therefore, Q is a minimal set of edges whose removal from G disconnects G. This, by definition, is a cut-set. In a connected graph G, any minimal set of edges containing at least one branch of every spanning tree of G is a cut-set.
Every circuit has an even number of edges in common with any cut-set. Consider a cut-set S in graph G Fig. Because of the closed nature of a circuit, the number of edges we traverse between VI and V2 must be even. And since very edge in S has one end in VI and the other in V2, and no other edge in G has this property of separating sets VI and V2 , the number of edges common to Sand r is even.
In Section it was shown how cut-sets are used to identify weak spots in a communication net. For this purpose we list all cut-sets of the corresponding graph, and find which ones have the smallest number of edges. It must also have become apparent to you that even in a simple example, such as in Fig.
In the case of circuits, we solved a similar problem by the simple technique of finding a set of fundamental circuits and then realizing that other circuits in a graph are just combinations of two or more fundamental circuits.
We shall follow a similar strategy here. Just as a spanning tree is essential for defining a set of fundamental circuits, so is a spanning tree essential for a set of fundamental cut-sets. It will be beneficial for the reader to look for the parallelism between circuits and cut-sets. Fundamental Cut-Sets: Consider a spanning tree T of a connected graph G. Take any branch b in T. Consider the same partition of vertices in G, and the cut set S in G that corresponds to this partition.
Cutset S will contain only one branch b of T, and the rest if any of the edges in S are chords with respect to T. Such a cut-set S containing exactly one branch of a tree T is called a fundamental cut-set with respect to T. Sometimes a fundamental cut-set is also called a basic cut-set.