Graph Theory and Its Applications (3rd ed.)
This a comprehensive textbook on graph theory is intended as an advanced undergraduate or introductory graduate course. The previous editions of this book had only the first two authors. This edition is a reorganization and makeover of the previous edition with new material added. The style of the previous edition is maintained, meaning that it is a succession of definitions, examples, applications, theorems, proofs, remarks, with little text in between. The many graph drawings and the numerous examples make it easy to understand what the theory is referring to. Many algorithms are presented as high-level pseudo code, but for those students interested in the programming aspects there are extra notes about implementation and several computer programming projects are formulated as exercises. Each chapter is introduced with a brief summary of its objective and contents, and it ends with a glossary giving one-liner descriptions of the new terms that were introduced in that chapter. The preface explains the concept of the book, gives a brief outline of the contents, and some suggestions for the instructor on how to select material from the book for composing a shorter course.
New to this edition are many "supplementary exercises" (some with hints or solutions at the end) added after each chapter. They complete the many exercises that were included already after the sections of the chapters. Also the algorithmic aspects are more elaborated. The applications of the chapter on colouring and factoring are extended with examples of scheduling problems, map colouring, and problems in computer science, chemistry, circuit theory, etc.
The compact enumerating style of writing makes it also an excellent reference work. The extensive index, the list of applications, and the glossary of algorithms added at the end are a welcome help for that. The appendices summarizing necessary elements from mathematics (logic and proof techniques, functions, combinatorics, algebraic structures, complexity), and the additional references: books (organized by subject) and papers (organized by chapter), besides the really impressive list of exercises, are of course useful elements helping the students that have to assimilate the material.
The main contents is organized in 11 chapters. The first two give the basic definitions about concepts, structures, and representations of graphs. Chapter three and four discuss trees and spanning trees. A tree is one of the most important graph structures. They are for example a key-tool in useful applications such as designing different search and coding algorithms. The fifth and sixth chapters introduce connectivity and (optimal) graph traversals. Applications include reliable networks, and routing problems like the Chinese postman and the travelling salesman problem. The Kuratowski theorem is discussed in chapter seven. It characterizes when a graph is planar (no edge crossings). With chapter eight different kinds of graph colouring and graph factorizations are introduced with the applications mentioned above. Students needing operations research or network theory will be most interested in chapters nine and ten, where directed graphs and network flows are discussed. The last chapter is somewhat shorter. It connects the symmetry of the graph with the number of different colourings for that graph.
Graph theory is applicable in many scientific disciplines, and the book can serve as a basis for any of these. The text is pretty complete in what is discussed but it remains at a basic level. This implies that the math is not so difficult. Of course sets, partitions, and combinatorics are needed but on an algebraic level, permutation groups and morphisms are about the most advanced concepts that are used (for example in the last chapter). The authors chose not to go into problems of spectral graph theory or other more advanced issues.
The fact that this is the third edition means that the previous editions were already much appreciated, otherwise there would be no need for a third one. With the evolution in the field and extra experience built up by the authors since the last edition (2006), and new ideas brought in by a third author, it is clear that the new edition is an improvement of a textbook that was already a bestseller. In this case it is not only removing typos or clarifying confusing formulations from the previous edition, but it is extended and reorganized. So this is an excellent basic (but more than an introductory) course on graph theory, based on many years of teaching experience. With a volume this size, it is unavoidable that new unintended typos will sneak in. I found some, but there is a website www.graphtheory.com where more info is available and where suggestions are welcome. The corrections will also be published there. At least that is what is announced in the book, but at the moment of writing this review (January 2019), not many of the links of the website seem to work (e.g. I could not access the errata list for the previous edition) and I doubt that the website is maintained. The last entry dates back to a conference in 2011.