## Preface

Graph theory is a delightful playground for the exploration of proof techniques in discrete mathematics, and its results have applications in many areas of the computing, social, and natural sciences. The design of this book permits usage in a one-semester introduction at the undergraduate or beginning graduate level, or in a patient two-semester introduction. No previous knowledge of graph theory is assumed. Many algorithms and applications are included, but the focus is on understanding the structure of graphs and the techniques used to analyze problems in graph theory.

Many textbooks have been written about graph theory. Due to its emphasis on both proofs and applications, the initial model for this book was the elegant text by J.A. Bondy and US.R. Murty, *Graph Theory with Applications* (Macmillan/NorthHolland 1976). Graph theory is still young, and no consensus has emerged on how the introductory material should be presented. Selection and order of topics, choice of proofs, objectives, and underlying themes are matters of lively debate. Revising this book dozens of times has taught me the difficulty of these decisions. This book is my contribution to the debate.

### The Second Edition

The revision for the second edition emphasizes making the text easier for the students to learn from and easier for the instructor to teach from. There have not been great changes in the overall content of the book, but the presentation has been modified to make the material more accessible, especially in the early parts of the book. Some of the changes are discussed in more detail later in this preface; here I provide a brief summary.

- Optional material within non-optional sections is now designated by (*); such material is not used later and can be skipped. Most of it is
*intended* to be skipped in a one-semester course. When a subsection is marked "optional", the entire subsection is optional, and hence no individual items are starred. - For less-experienced students, Appendix A has been added as a reference summary of helpful material on sets, logical statements, induction, counting arguments, binomial coefficients, relations, and the pigeonhole principle.
- Many proofs have been reworded in more patient language with additional details, and more examples have been added.
- More than 350 exercises have been added, mostly easier exercises in Chapters 1-7. There are now more than 1200 exercises.
- More than 100 illustrations have been added; there are now more than 400. In illustrations showing several types of edges, the switch to bold and solid edges instead of solid and dashed edges has increased clarity.
- Easier.problems are now grouped at the beginning of each exercise section, usable as warm-ups. Statements of some exercises have been clarified.
- In addition to hints accompanying the exercise statements, there is now an appendix of supplemental hints.
- For easier access, terms being defined are in bold type, and the vast majority of them appear in Definition items.
- For easier access, the glossary of notation has been placed on the inside covers.
- Material involving Eulerian circuits, digraphs, and Turÿn's Theorem has been relocated to facilitate more efficient learning.
- Chapters 6 and 7 have been switched to introduce the idea of planarity earlier, and the section on complexity has become an appendix.
- The glossary has been improved to eliminate errors and to emphasize items more directly related to the text.

### Features

Various features of this book facilitate students' efforts to understand the material. There is discussion of proof techniques, more than 1200 exercises of varying difficulty, more than 400 illustrations, and many examples. Proofs are presented in full in the text.

Many undergraduates begin a course in graph theory with little exposure to proof techniques. Appendix A provides background reading that will help them get started. Students who have difficulty understanding or writing proofs in the early material should be encouraged to read this appendix in conjunction with Chapter 1. Some discussion of proof techniques still appears in the early sections of the text (especially concerning induction), but an expanded treatment of the basic background (especially concerning sets, functions, relations, and elementary counting) is now in Appendix A.

Most of the exercises require proofs. Many undergraduates have had little practice at presenting explanations, and this hinders their appreciation of graph theory and other mathematics. The intellectual discipline of justifying an argument is valuable independently of mathematics; I hope that students will appreciate this. In writing solutions to exercises, students should be careful in their use of language ("say what you mean"), and they should be intellectually honest ("mean what you say").

Although many terms in graph theory suggest their definitions, the quantity of terminology remains an obstacle to fluency. Mathematicians like to gather definitions at the start, but most students succeed better if they use a concept before receiving the next. This, plus experience and requests from reviewers, has led me to postpone many definitions until they are needed. For example, the definition of cartesian product appears in Section 5.1 with coloring problems. Line graphs are defined in Section 4.2 with Menger's Theorem and in Section 7.1 with edge-coloring. The definitions of induced subgraph and join have now been postponed to Section 1.2 and Section 3.1, respectively.

I have changed the treatment of digraphs substantially by postponing their introduction to Section 1.4. Introducing digraphs at the same time as graphs tends to confuse or overwhelm 'students. Waiting to the end of Chapter 1 allows them to become comfortable with basic concepts in the context of a single model. The discussion of digraphs then reinforces some of those concepts while clarifying the distinctions. The two models are still discussed together in the material on connectivity.

This book contains more material than most introductory texts in graph theory. Collecting the advanced material as a final optional chapter of "additional topics" permits usage at different levels. The undergraduate introduction consists of the first seven chapters (omitting most optional material), leaving Chapter 8 as topical reading for interested students. A graduate course can treat most of Chapters 1 and 2 as recommended reading, moving rapidly to Chapter 3 in class and reaching some topics in Chapter 8. Chapter 8 can also be used as the basis for a second course in graph theory, along with material that was optional in earlier chapters.

Many results in graph theory have several proofs; illustrating this can increase students' flexibility in trying multiple approaches to a problem. I include some alternative proofs as remarks and others as exercises.

Many exercises have hints, some given with the exercise statement and others in Appendix C. Exercises marked "(-)" or "(+)" are easier or more difficult, respectively, than unmarked problems. Those marked "(+)" should not be assigned as homework in a typical undergraduate course. Exercises marked "(!)" are especially valuable, instructive, or entertaining. Those marked "(*)" use material labeled optional in the text.

Each exercise section begins with a set of "(-)" exercises, ordered according to the material in the section and ending with a line of bullets. These exercises either check understanding of concepts or are immediate applications of results in the section. I recommend some of these to my class as "warmup" exercises to check their understanding before working the main homework problems, most of which are marked "(!)". Most problems marked "(-)" are good exam questions. When using other exercises on exams, it may be a good idea to provide hints from Appendix C.

Exercises that relate several concepts appear when the last is introduced. Many pointers to exercises appear in the text where relevant concepts are discussed. An exercise in the current section is cited by giving only its item number among the exercises of that section. Other cross-references are by Chapter. Section. Item.

### Organization and Modification

In the first edition, I sought a development that was intellectually coherent and displayed a gradual (not monotonic) increase in difficulty of proofs and in algorithmic complexity.

Carrying this further in the second edition, Eulerian circuits and Hamiltonian cycles are now even farther apart. The simple characterization of Eulerian circuits is now in Section 1.2 with material closely related to it. The remainder of the former Section 2.4 has been dispersed to relevant locations in other sections, with Fleury's Algorithm dropped.

Chapter 1 has been substantially rewritten. I continue to avoid the term "multigraph"; it causes more trouble than it resolves, because many students assume that a multigraph *must* have multiple edges. It is less distracting to append the word "simple" where needed and keep "graph" as the general object, with occasional statements that in particular contexts it makes sense to consider only simple graphs.

The treatment of definitions in Chapter 1 has been made more friendly and precise, particularly those involving paths, trails, and walks. The informal groupings of basic definitions in Section 1.1 have been replaced by Definition items that help students find definitions more easily.

In addition to the material on isomorphism, Section 1.1 now has a more precise treatment of the Petersen graph and an explicit introduction of the notions of decomposition and girth. This provides language that facilitates later discussion in various places, and it permits interesting explicit questions other than isomorphism.

Sections 1.2-1.4 have become more coherent. The treatment of Eulerian circuits motivates and completes Section 1.2. Some material has been removed from Section 1.3 to narrow its focus to degrees and counting, and this section has acquired the material on vertex degrees that had been in Section 1.4. Section 1.4 now provides the introduction to digraphs and can be treated lightly.

Trees and distance appear together in Chapter 2 due to the many relations between these topics. Many exercises combine these notions, and algorithms to compute distances produce or use trees.

Most graph theorists agree that the König-Egerváry Theorem deserves an independent proof without network flow. Also, students have trouble distinguishing "*k*-connected" from "connectivity *k*", which have the same relationship as "*k*-colorable" and "chromatic number *k*". I therefore treat matching first and later use matching to prove Menger's Theorem. Both matching and connectivity are used in the coloring material.

In response to requests from a number of users, I have added a short optional subsection on dominating sets at the end of Section 3.1. The material on weighted bipartite matching has been clarified by emphasis on vertex cover instead of augmenting path and by better use of examples.

Turán's Theorem uses only elementary ideas about vertex degrees and induction and hence appeared in Chapter 1 in the first edition. This caused some difficulties, because it was the most abstract item up to that point and students felt somewhat overwhelmed by it. Thus I have kept the simple triangle-free case (Mantel's Theorem) in Section 1.3 and have moved the full theorem to Section 5.2 under the viewpoint of extremal problems related to coloring.

The chapter on planarity now comes before that on "Edges and Cycles". When an instructor is short of time, planarity is more important to reach than the material on edge-coloring and Hamiltonian cycles. The questions involved in planarity appeal intuitively to students due to their visual aspects, and many students have encountered these questions before. Also, the ideas involved in discussing planar graphs seem more intellectually broadening in relation to the earlier material of the course than the ideas used to prove the basic results on edge-coloring and Hamiltonian cycles.

Finally, discussing planarity first makes the material of Chapter 7 more coherent. The new arrangement permits a more thorough discussion of the relationships among planarity, edge-coloring, and Hamiltonian cycles, leading naturally beyond the Four Color Theorem to the optional new material on nowhere-zero flows as a dual concept to coloring.

When students discover that the coloring and Hamiltonian cycle problems lack good algorithms, many become curious about NP-completeness. Appendix B satisfies this curiosity. Presentation of NP-completeness via formal languages can be technically abstract, so some students appreciate a presentation in the context of graph problems. NP-completeness proofs also illustrate the variety and usefulness of "graph transformation" arguments.

The text explores relationships among fundamental results. Petersen's Theorem on 2-factors (Chapter 3) uses Eulerian circuits and bipartite matching. The equivalence between Menger's Theorem and the Max Flow-Min Cut Theorem is explored more fully than in the first edition, and the "Baseball Elimination" application is now treated in more depth. The *k* — 1-connectedness of *k*-color-critical graphs (Chapter 5) uses bipartite matching. Section 5.3 offers a brief introduction to perfect graphs, emphasizing chordal graphs. Additional features of this text in comparison to some others include the algorithmic proof of Vizing's Theorem and the proof of Kuratowski's Theorem by Thomassen's methods.

There are various other additions and improvements in the first seven chapters. There is now a brief discussion of Heawood's Formula and the Robertson-Seymour Theorem at the end of Chapter 6. In Section 7.1, a proof of Shannon's bound on the edge-chromatic number has been added. In Section 5.3, the characterization of chordal graphs is somewhat simpler than before by proving a stronger result about simplicial vertices. In Section 6.3, the proof of the reducibility of the Birkhoff diamond has been eliminated, but a brief discussion of discharging has been added. The material discussing issues in the proof of the theorem is optional, and the aim is to give the flavor of the approach without getting into detailed arguments. From this viewpoint the reducibility proof seemed out of focus.

Chapter 8 contains highlights of advanced material and is not intended for an undergraduate course. It assumes more sophistication than earlier chapters and is written more tersely. Its sections are independent; each selects appealing results from a large topic that merits a chapter of its own. Some of these sections become more difficult near the end; an instructor may prefer to sample early material in several sections rather than present one completely.

There may be occasional relationships between items in Chapter 8 and items marked optional in the first seven chapters, but generally cross-references indicate the connections. The material of Chapter 8 has not changed substantially since the first edition, although many corrections have been made and the presentation has been clarified in many places.

I will treat advanced graph theory more thoroughly in *The Art of Combinatoracs.* Volume I is devoted to extremal graph theory and Volume II to structure of graphs. Volume III has chapters on matroids and integer programming (including network flow). Volume IV emphasizes methods in combinatorics and discusses various aspects of graphs, especially random graphs.

### Design of Courses

I intend the 22 sections in Chapters 1-7 for a pace of slightly under two lectures per section when most optional material (starred items and optional subsections) is skipped. When I teach the course I spend eight lectures on Chapter 1, six lectures each on Chapters 4 and 5, and five lectures on each of Chapters 2, 3, 6, and 7. This presents the fundamental material in about 40 lectures. Some instructors may want to spend more time on Chapter 1 and omit more material from later chapters.

In chapters after the first, the most fundamental material is concentrated in the first section. Emphasizing these sections (while skipping the optional items) still illustrates the scope of graph theory in a slower-paced one-semester course. From the second sections of Chapters 2, 4, 5, 6, and 7, it would be beneficial to include Cayley's Formula, Menger's Theorem, Mycielski's construction, Kuratowski's Theorem, and Dirac's Theorem (spanning cycles), respectively.

Some optional material is particularly appealing to present in class. For example, I always present the optional subsections on Disjoint Spanning Trees (in Section 2.1) and Stable Matchings (in Section 3.2), and I usually present the optional subsection on *f*-factors (in Section 3.3). Subsections are marked optional when no later material in the first seven chapters requires them and they are not part of the central development of elementary graph theory, but these are nice applications that engage students' interest. In one sense, the "optional" marking indicates to students that the final examination is unlikely to have questions on these topics.

Graduate courses skimming the first two chapters might include from them such topics as graphic sequences, kernels of digraphs, Cayley's Formula, the Matrix Tree Theorem, and Kruskal's algorithm.

Courses that introduce graph theory in one term under the quarter system must aim for highlights; I suggest the following rough syllabus: 1.1: adjacency matrix, isomorphism, Petersen graph. 1.2: all. 1.3: degree-sum formula, large bipartite subgraphs. 1.4: up to strong components, plus tournaments. 2.1: up to centers of trees. 2.2: up to statement of Matrix Tree Theorem. 2.3: Kruskal's algorithm. 3.1: almost all. 3.2: none. 3.3: statement of Tutte's Theorem, proof of Petersen's results. 4.1: up to definition of blocks, omitting Harary graphs. 4.2: up to open ear decomposition, plus statement of Menger's Theorem(s). 4.3: duality between flows and cuts, statement of Max-flow = Min-cut. 5.1: up to Szekeres-Wilf theorem. 5.2: Mycielski's construction, possibly Turán's Theorem. 5.3: up to chromatic recurrence, plus perfection of chordal graphs. 6.1: non-planarity of *K* _{ 5 } and *K* _{ 3.3 }, examples of dual graphs, Euler's formula with applications. 6.2: statement and examples of Kuratowski's Theorem and Tutte's Theorem. 6.3: 5-color Theorem, plus the idea of crossing number. 7.1: up to Vizing's Theorem. 7.2: up to Ore's condition, plus the Chvátal-Erdos condition. 7.3: Tait's Theorem, Grinberg's Theorem.

### Further Pedagogical Aspects

In the revision I have emphasized some themes that arise naturally from the material; underscoring these in lecture helps provide continuity.

More emphasis has been given to the theme of TONCAS—"The obvious necessary condition is also sufficient." Explicit mention has been added that many of the fundamental results can be viewed in this way. This both provides a theme for the course and clarifies the distinction between the easy direction and the hard direction in an equivalence.

Another theme that underlies much of Chapters 3-5 and Section 7.1 is that of dual maximization and minimization problems. In a graph theory course one does not want to delve deeply into the nature of duality in linear optimization. It suffices to say that two optimization problems form a dual pair when every feasible solution to the maximization problem has value at most the value of every feasible solution to the minimization problem. When feasible solutions with the same value are given for the two problems, this duality implies that both solutions are optimal. A discussion of the linear programming context appears in Section 8.1.

Other themes can be identified among the proof techniques. One is the use of extremality to give short proofs and avoid the use of induction. Another is the paradigm for proving conditional statements by induction, as described explicitly in Remark 1.3.25.

The development leading to Kuratowski's Theorem is somewhat long. Nevertheless, it is preferable to present the proof in a single lecture. The preliminary lemmas reducing the problem to the 3-connected case can be treated lightly to save time. Note that the induction paradigm leads naturally to the two lemmas proved for the 3-connected case. Note also that the proof uses the notion of *S*-lobe defined in Section 5.2.

The first lecture in Chapter 6 should not belabor technical definitions of drawings and regions. These are better left as intuitive notions unless students ask for details; the precise statements appear in the text.

The motivating applications of digraphs in Section 1.4 have been marked optional because they are not needed in the rest of the text, but they help clarify that the appropriate model (graph or digraph) depends on the application.

Due to its reduced emphasis on numerical computation and increased emphasize op techniques of proof and clarity of explanations, graph theory is an excellent subject in which to encourage students to improve their habits of communication, both written and oral. In addition to assigning written homework that requires carefully presented arguments, I have found it productive to organize optional "collaborative study" sessions in which students can work together on problems while I circulate, listen, and answer questions. It should not be forgotten that one of the best ways to discover whether one understands a proof is to try to explain it to someone else. The students who participate find these sessions very beneficial.

### Acknowledgments

This text benefited from classroom testing of gradually improving prepublication versions at many universities. Instructors who used the text on this experimental basis were, roughly in chronological order, Ed Scheinerman (Johns Hopkins), Kathryn Fraughnaugh (Colorado-Denver), Paul Weichsel / Paul Schupp / Xiaoyun Lu (Illinois), Dean Hoffman / Pete Johnson / Chris Rodger (Auburn), Dan Ullman (George Washington), Zevi Miller / Dan Pritikin (Miami-Ohio), David Matula (Southern Methodist), Pavol Hell (Simon Fraser), Grzegorz Kubicki (Louisville), Jeff Smith (Purdue), Ann Trenk (Wellesley), Ken Bogart (Dartmouth), Kirk Tolman (Brigham Young), Roger Eggleton (Illinois State), Hexb Kasube (Bradley), and Jeff Dinitz (Vermont). Many of these (or their students) provided suggestions or complaints that led to improvements.

I thank George Lobell at Prentice Hall for his continuing commitment to this project and for finding diligent reviewers. Reviewers Paul Edelman, Renu Laskar, Gary MacGillivray, Joseph Neggers, Joseph Malkevitch, James Oxley, Sam Stueckle, and Barry Tesman made helpful comments. Reviewers for early versions of sections of Chapter 8 included Mike Albertson, Sanjoy Barvah, Dan Kleitman, James Oxley, Chris Rodger, and Alan Tucker. Reviewers for the second edition included Nate Dean, Dalibor Froncek, Renu Laskar, Michael Molloy, David Sumner, and Daniel Ullman.

Additional comments and corrections between the first and second editions came from many readers. These items range from typographical errors to additional exercises to simplifications ix l proofs. The accumulated effect of these contributions is substantial. Most of these suggestions don't lend themselves to attribution within the text, so I express my gratitude here for their willingness to contribute their observations, opinions, and expertise. These people include Troy Barcume, Stephan Brandt, Gerard Chang, Scott Clark, Dave Gunderson, Dean Hoffman, John D'Angelo, Charles Delzell, Thomas Emden-Weinert, Shimon Even, Fred Galvin, Alfio Giarlotta, Don Greenwell, Jing Huang, Garth Isaak, Steve Kilner, Alexandr Kostochka, Andre Kundgen, Peter Kwok, JeanMarc Lanlignel, Francois Margot, Alan Mehlenbacher, Joel Miller, Zevi Miller, Wendy Myrvold, Charles Parry, Robert Pratt, Dan Pritikin, Radhika Ramamurthi, Craig Rasmussen, Bruce Reznick, Jian Shen, Tom Shermer, Warren Shreve, Alexander Strehl, Tibor Szabo, Vitaly Voloshin, and C.Q. Zhang.

Several students found numerous typographical errors in the pre-publication version of the second edition (thereby earning extra credit!): Jaspreet Bagga, Brandon Bowersox, Mark Chabura, John Chuang, Greg Harfst, Shalene Melo, Charlie Pikscher, and Josh Reed.

The cover drawing for the first edition was produced by Ed Scheinerman using BRLCAD, a product of the U.S. Army Ballistic Research Laboratory. For the second edition, the drawing was produced by Maria Muyot using CorelDraw.

Chris Hartman contributed vital assistance in preparing the bibliography for the first edition; additional references have now been added. Ted Harding helped resolve typesetting difficulties in other parts of the first edition.

Students who helped gather data for the index of the first edition included Maria Axenovich, Nicole Henley, Andre Kundgen, Peter Kwok, Kevin Leuthold, John Jozwiak, Radhika Ramamurthi, and Karl Schmidt. Raw data for the index of the second edition was gathered using scripts I wrote in perl; Maria Muyot and Radhika Ramamurthi assisted with processing of the index and the bibliography.

I prepared the second edition in the TEX typesetting system for which the scientific world owes Donald E. Knuth eternal gratitude. The figures were generated using *gpic,* a product of the Free Software Foundation.

### Feedback

I welcome corrections and suggestions, including comments on topics, attributions of results, updates, suggestions for exercises, typographical errors, omissions from the glossary or index, etc. Please send these to me at west@math.uiuc.edu

In particular, I apologize in advance for missing references; please inform me of the proper citations! Also, no changes other than corrections of errors will be made between printings of this edition.

I maintain a web site containing a syllabus, errata, updates, and other material. Please visit! (http://www.math.uiuc.edu/~west/igt)

I have corrected all typographical and mathematical errors known to me before the time of printing. Nevertheless, the robustness of the set of errors and the substantial rewriting and additions make me confident that some error remains. Please find it and tell me so I can correct it!

Douglas B. West

Urbana, Illinois