Graph Theory
The canon created by those books has helped to identify some main fields of study and research, and will doubtless continue to influence the development of the discipline for some time to come
Reinhard Diestel
Graph Theory
Electronic Edition 2000
°
c Springer-Verlag New York 1997, 2000
This is an electronic version of the second (2000) edition of the above
Springer book, from their series Graduate Texts in Mathematics, vol. 173.
The cross-references in the text and in the margins are active links: click
on them to be taken to the appropriate page.
The printed edition of this book can be ordered from your bookseller, or
electronically from Springer through the Web sites referred to below.
Softcover $34.95, ISBN 0-387-98976-5
Hardcover $69.95, ISBN 0-387-95014-1
Further information (reviews, errata, free copies for lecturers etc.) and
electronic order forms can be found on
http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/
http://www.springer-ny.com/supplements/diestel/
Preface
Almost two decades have passed since the appearance of those graph the-
ory texts that still set the agenda for most introductory courses taught
today. The canon created by those books has helped to identify some
main fields of study and research, and will doubtless continue to influence
the development of the discipline for some time to come.
Yet much has happened in those 20 years, in graph theory no less
than elsewhere: deep new theorems have been found, seemingly disparate
methods and results have become interrelated, entire new branches have
arisen. To name just a few such developments, one may think of how
the new notion of list colouring has bridged the gulf between invari-
ants such as average degree and chromatic number, how probabilistic
methods and the regularity lemma have pervaded extremal graph theo-
ry and Ramsey theory, or how the entirely new field of graph minors and
tree-decompositions has brought standard methods of surface topology
to bear on long-standing algorithmic graph problems.
Clearly, then, the time has come for a reappraisal: what are, today,
the essential areas, methods and results that should form the centre of
an introductory graph theory course aiming to equip its audience for the
most likely developments ahead?
I have tried in this book to offer material for such a course. In
view of the increasing complexity and maturity of the subject, I have
broken with the tradition of attempting to cover both theory and appli-
cations: this book offers an introduction to the theory of graphs as part
of (pure) mathematics; it contains neither explicit algorithms nor ‘real
world’ applications. My hope is that the potential for depth gained by
this restriction in scope will serve students of computer science as much
as their peers in mathematics: assuming that they prefer algorithms but
will benefit from an encounter with pure mathematics of some kind, it
seems an ideal opportunity to look for this close to where their heart lies!
In the selection and presentation of material, I have tried to ac-
commodate two conflicting goals. On the one hand, I believe that an
viii Preface
introductory text should be lean and concentrate on the essential, so as
to offer guidance to those new to the field. As a graduate text, moreover,
it should get to the heart of the matter quickly: after all, the idea is to
convey at least an impression of the depth and methods of the subject.
On the other hand, it has been my particular concern to write with
sufficient detail to make the text enjoyable and easy to read: guiding
questions and ideas will be discussed explicitly, and all proofs presented
will be rigorous and complete.
A typical chapter, therefore, begins with a brief discussion of what
are the guiding questions in the area it covers, continues with a succinct
account of its classic results (often with simplified proofs), and then
presents one or two deeper theorems that bring out the full flavour of
that area. The proofs of these latter results are typically preceded by (or
interspersed with) an informal account of their main ideas, but are then
presented formally at the same level of detail as their simpler counter-
parts. I soon noticed that, as a consequence, some of those proofs came
out rather longer in print than seemed fair to their often beautifully
simple conception. I would hope, however, that even for the professional
reader the relatively detailed account of those proofs will at least help
to minimize reading time. . .
If desired, this text can be used for a lecture course with little or
no further preparation. The simplest way to do this would be to follow
the order of presentation, chapter by chapter: apart from two clearly
marked exceptions, any results used in the proof of others precede them
in the text.
Alternatively, a lecturer may wish to divide the material into an easy
basic course for one semester, and a more challenging follow-up course
for another. To help with the preparation of courses deviating from the
order of presentation, I have listed in the margin next to each proof the
reference numbers of those results that are used in that proof. These
references are given in round brackets: for example, a reference (4.1.2)
in the margin next to the proof of Theorem 4.3.2 indicates that Lemma
4.1.2 will be used in this proof. Correspondingly, in the margin next to
Lemma 4.1.2 there is a reference [ 4.3.2 ] (in square brackets) informing
the reader that this lemma will be used in the proof of Theorem 4.3.2.
Note that this system applies between different sections only (of the same
or of different chapters): the sections themselves are written as units and
best read in their order of presentation.
The mathematical prerequisites for this book, as for most graph
theory texts, are minimal: a first grounding in linear algebra is assumed
for Chapter 1.9 and once in Chapter 5.5, some basic topological con-
cepts about the Euclidean plane and 3-space are used in Chapter 4, and
a previous first encounter with elementary probability will help with
Chapter 11. (Even here, all that is assumed formally is the knowledge
of basic definitions: the few probabilistic tools used are developed in the
Preface ix
text.) There are two areas of graph theory which I find both fascinat-
ing and important, especially from the perspective of pure mathematics
adopted here, but which are not covered in this book: these are algebraic
graph theory and infinite graphs.
At the end of each chapter, there is a section with exercises and
another with bibliographical and historical notes. Many of the exercises
were chosen to complement the main narrative of the text: they illus-
trate new concepts, show how a new invariant relates to earlier ones,
or indicate ways in which a result stated in the text is best possible.
Particularly easy exercises are identified by the superscript − , the more
challenging ones carry a + . The notes are intended to guide the reader
on to further reading, in particular to any monographs or survey articles
on the theme of that chapter. They also offer some historical and other
remarks on the material presented in the text.
Ends of proofs are marked by the symbol ¤. Where this symbol is
found directly below a formal assertion, it means that the proof should
be clear after what has been said—a claim waiting to be verified! There
are also some deeper theorems which are stated, without proof, as back-
ground information: these can be identified by the absence of both proof
and ¤.
Almost every book contains errors, and this one will hardly be an
exception. I shall try to post on the Web any corrections that become
necessary. The relevant site may change in time, but will always be
accessible via the following two addresses:
http://www.springer-ny.com/supplements/diestel/
http://www.springer.de/catalog/html-files/deutsch/math/3540609180.html
Please let me know about any errors you find.
Little in a textbook is truly original: even the style of writing and
of presentation will invariably be influenced by examples. The book that
no doubt influenced me most is the classic GTM graph theory text by
Bollob´ as: it was in the course recorded by this text that I learnt my first
graph theory as a student. Anyone who knows this book well will feel
its influence here, despite all differences in contents and presentation.
I should like to thank all who gave so generously of their time,
knowledge and advice in connection with this book. I have benefited
particularly from the help of N. Alon, G. Brightwell, R. Gillett, R. Halin,
M. Hintz, A. Huck, I. Leader, T. L Ã uczak, W. Mader, V. R¨odl, A.D. Scott,
ˇ
P.D. Seymour, G. Simonyi, M. Skoviera, R. Thomas, C. Thomassen and
P. Valtr. I am particularly grateful also to Tommy R. Jensen, who taught
me much about colouring and all I know about k-flows, and who invest-
ed immense amounts of diligence and energy in his proofreading of the
preliminary German version of this book.
March 1997 RD
x Preface
About the second edition
Naturally, I am delighted at having to write this addendum so soon after
this book came out in the summer of 1997. It is particularly gratifying
to hear that people are gradually adopting it not only for their personal
use but more and more also as a course text; this, after all, was my aim
when I wrote it, and my excuse for agonizing more over presentation
than I might otherwise have done.
There are two major changes. The last chapter on graph minors
now gives a complete proof of one of the major results of the Robertson-
Seymour theory, their theorem that excluding a graph as a minor bounds
the tree-width if and only if that graph is planar. This short proof did
not exist when I wrote the first edition, which is why I then included a
short proof of the next best thing, the analogous result for path-width.
That theorem has now been dropped from Chapter 12. Another addition
in this chapter is that the tree-width duality theorem, Theorem 12.3.9,
now comes with a (short) proof too.
The second major change is the addition of a complete set of hints
for the exercises. These are largely Tommy Jensen’s work, and I am
grateful for the time he donated to this project. The aim of these hints
is to help those who use the book to study graph theory on their own,
but not to spoil the fun. The exercises, including hints, continue to be
intended for classroom use.
Apart from these two changes, there are a few additions. The most
noticable of these are the formal introduction of depth-first search trees
in Section 1.5 (which has led to some simplifications in later proofs) and
an ingenious new proof of Menger’s theorem due to B¨ohme, G¨oring and
Harant (which has not otherwise been published).
Finally, there is a host of small simplifications and clarifications
of arguments that I noticed as I taught from the book, or which were
pointed out to me by others. To all these I offer my special thanks.
The Web site for the book has followed me to
http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/
I expect this address to be stable for some time.
Once more, my thanks go to all who contributed to this second
edition by commenting on the first—and I look forward to further com-
ments!
December 1999 RD
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
1. The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. The degree of a vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Paths and cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5. Trees and forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6. Bipartite graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7. Contraction and minors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8. Euler tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.9. Some linear algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.10. Other notions of graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2. Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1. Matching in bipartite graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2. Matching in general graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3. Path covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
xii Contents
3. Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1. 2-Connected graphs and subgraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2. The structure of 3-connected graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3. Menger’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4. Mader’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5. Edge-disjoint spanning trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6. Paths between given pairs of vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4. Planar Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1. Topological prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2. Plane graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3. Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4. Planar graphs: Kuratowski’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.5. Algebraic planarity criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6. Plane duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5. Colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.1. Colouring maps and planar graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2. Colouring vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.3. Colouring edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4. List colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5. Perfect graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6. Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.1. Circulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.2. Flows in networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.3. Group-valued flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.4. k-Flows for small k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.5. Flow-colouring duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
6.6. Tutte’s flow conjectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Contents xiii
7. Substructures in Dense Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.1. Subgraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.2. Szemer´edi’s regularity lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.3. Applying the regularity lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8. Substructures in Sparse Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.1. Topological minors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
8.2. Minors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
8.3. Hadwiger’s conjecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9. Ramsey Theory for Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
9.1. Ramsey’s original theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
9.2. Ramsey numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
9.3. Induced Ramsey theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.4. Ramsey properties and connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10. Hamilton Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.1. Simple sufficient conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.2. Hamilton cycles and degree sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.3. Hamilton cycles in the square of a graph . . . . . . . . . . . . . . . . . . . . . . . . 218
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
11. Random Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.1. The notion of a random graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
11.2. The probabilistic method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
11.3. Properties of almost all graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
11.4. Threshold functions and second moments . . . . . . . . . . . . . . . . . . . . . . . 242
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
xiv Contents
12. Minors, Trees, and WQO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
12.1. Well-quasi-ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
12.2. The graph minor theorem for trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
12.3. Tree-decompositions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
12.4. Tree-width and forbidden minors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
12.5. The graph minor theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Hints for all the exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Symbol index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
1 The Basics
This chapter gives a gentle yet concise introduction to most of the ter-
minology used later in the book. Fortunately, much of standard graph
theoretic terminology is so intuitive that it is easy to remember; the few
terms better understood in their proper setting will be introduced later,
when their time has come.
Section 1.1 offers a brief but self-contained summary of the most
basic definitions in graph theory, those centred round the notion of a
graph. Most readers will have met these definitions before, or will have
them explained to them as they begin to read this book. For this reason,
Section 1.1 does not dwell on these definitions more than clarity requires:
its main purpose is to collect the most basic terms in one place, for easy
reference later.
From Section 1.2 onwards, all new definitions will be brought to life
almost immediately by a number of simple yet fundamental propositions.
Often, these will relate the newly defined terms to one another: the
question of how the value of one invariant influences that of another
underlies much of graph theory, and it will be good to become familiar
with this line of thinking early.
By N we denote the set of natural numbers, including zero. The set
Z/nZ of integers modulo n is denoted by Zn ; its elements are written as Zn
i := i + nZ. For a real number x we denote by bxc the greatest integer
6 x, and by dxe the least integer > x. Logarithms written as ‘log’ are bxc, dxe
taken at base 2; the natural logarithm will be denoted by ‘ln’. A set log, ln
A =S { A1 , . . . , Ak } of disjoint subsets of a set A is a partition of A if partition
A = i=1 Ai and Ai 6= ∅ for every i. Another partition { A01 , . . . , A0` } of
k
A refines the partition A if each A0i is contained in some Aj . By [A]k we [A]k
denote the set of all k-element subsets of A. Sets with k elements will
be called k-sets; subsets with k elements are k-subsets. k-set
2 1. The Basics
1.1 Graphs
graph A graph is a pair G = (V, E) of sets satisfying E ⊆ [V ]2 ; thus, the ele-
ments of E are 2-element subsets of V . To avoid notational ambiguities,
we shall always assume tacitly that V ∩ E = ∅. The elements of V are the
vertex vertices (or nodes, or points) of the graph G, the elements of E are its
edge edges (or lines). The usual way to picture a graph is by drawing a dot for
each vertex and joining two of these dots by a line if the corresponding
two vertices form an edge. Just how these dots and lines are drawn is
considered irrelevant: all that matters is the information which pairs of
vertices form an edge and which do not.
3 7
5
1 6
2 4
Fig. 1.1.1. The graph on V = { 1, . . . , 7 } with edge set
E = {{ 1, 2 }, { 1, 5 }, { 2, 5 }, { 3, 4 }, { 5, 7 }}
on A graph with vertex set V is said to be a graph on V . The vertex
V (G), E(G) set of a graph G is referred to as V (G), its edge set as E(G). These
conventions are independent of any actual names of these two sets: the
vertex set W of a graph H = (W, F ) is still referred to as V (H), not as
W (H). We shall not always distinguish strictly between a graph and its
vertex or edge set. For example, we may speak of a vertex v ∈ G (rather
than v ∈ V (G)), an edge e ∈ G, and so on.
order The number of vertices of a graph G is its order , written as |G|;
|G|, kGk its number of edges is denoted by kGk. Graphs are finite or infinite
according to their order; unless otherwise stated, the graphs we consider
are all finite.
∅ For the empty graph (∅, ∅) we simply write ∅. A graph of order 0 or 1
trivial
graph is called trivial . Sometimes, e.g. to start an induction, trivial graphs can
be useful; at other times they form silly counterexamples and become a
nuisance. To avoid cluttering the text with non-triviality conditions, we
shall mostly treat the trivial graphs, and particularly the empty graph ∅,
with generous disregard.
incident A vertex v is incident with an edge e if v ∈ e; then e is an edge at v.
ends The two vertices incident with an edge are its endvertices or ends, and
an edge joins its ends. An edge { x, y } is usually written as xy (or yx).
If x ∈ X and y ∈ Y , then xy is an X–Y edge. The set of all X–Y edges
E(X, Y ) in a set E is denoted by E(X, Y ); instead of E({ x }, Y ) and E(X, { y })
we simply write E(x, Y ) and E(X, y). The set of all the edges in E at a
E(v) vertex v is denoted by E(v).
1.1 Graphs 3
Two vertices x, y of G are adjacent, or neighbours, if xy is an edge adjacent
of G. Two edges e 6= f are adjacent if they have an end in common. If all neighbour
the vertices of G are pairwise adjacent, then G is complete. A complete complete
graph on n vertices is a K n ; a K 3 is called a triangle. Kn
Pairwise non-adjacent vertices or edges are called independent.
inde-
More formally, a set of vertices or of edges is independent (or stable) pendent
if no two of its elements are adjacent.
Let G = (V, E) and G0 = (V 0 , E 0 ) be two graphs. We call G and
G isomorphic, and write G ' G0 , if there exists a bijection ϕ: V → V 0
0
'
with xy ∈ E ⇔ ϕ(x)ϕ(y) ∈ E 0 for all x, y ∈ V . Such a map ϕ is called
isomor-
an isomorphism; if G = G0 , it is called an automorphism. We do not phism
normally distinguish between isomorphic graphs. Thus, we usually write
G = G0 rather than G ' G0 , speak of the complete graph on 17 vertices,
and so on. A map taking graphs as arguments is called a graph invariant invariant
if it assigns equal values to isomorphic graphs. The number of vertices
and the number of edges of a graph are two simple graph invariants; the
greatest number of pairwise adjacent vertices is another.
1
4
2 4
6
3 5 3 5
G G0
1
1
4 4
2
2
6
3 5 3 5
G ∪ G0 G − G0 G ∩ G0
Fig. 1.1.2. Union, difference and intersection; the vertices 2,3,4
induce (or span) a triangle in G ∪ G0 but not in G
We set G ∪ G0 := (V ∪ V 0 , E ∪ E 0 ) and G ∩ G0 := (V ∩ V 0 , E ∩ E 0 ). G ∩ G0
If G ∩ G0 = ∅, then G and G0 are disjoint. If V 0 ⊆ V and E 0 ⊆ E, then subgraph
G0 is a subgraph of G (and G a supergraph of G0 ), written as G0 ⊆ G. G0 ⊆ G
Less formally, we say that G contains G0 .
If G0 ⊆ G and G0 contains all the edges xy ∈ E with x, y ∈ V 0 , then
induced
G is an induced subgraph of G; we say that V 0 induces or spans G0 in G,
0
subgraph
and write G0 =: G [ V 0 ]. Thus if U ⊆ V is any set of vertices, then G [ U ] G[U ]
denotes the graph on U whose edges are precisely the edges of G with
both ends in U . If H is a subgraph of G, not necessarily induced, we
abbreviate G [ V (H) ] to G [ H ]. Finally, G0 ⊆ G is a spanning subgraph spanning
of G if V 0 spans all of G, i.e. if V 0 = V .
4 1. The Basics
G G0 G00
Fig. 1.1.3. A graph G with subgraphs G0 and G00 :
G0 is an induced subgraph of G, but G00 is not
− If U is any set of vertices (usually of G), we write G − U for
G [ V r U ]. In other words, G − U is obtained from G by deleting all the
vertices in U ∩ V and their incident edges. If U = { v } is a singleton,
we write G − v rather than G − { v }. Instead of G − V (G0 ) we simply
+ write G − G0 . For a subset F of [V ]2 we write G − F := (V, E r F ) and
G + F := (V, E ∪ F ); as above, G − { e } and G + { e } are abbreviated to
edge-
maximal G − e and G + e. We call G edge-maximal with a given graph property
if G itself has the property but no graph G + xy does, for non-adjacent
vertices x, y ∈ G.
minimal More generally, when we call a graph minimal or maximal with some
maximal property but have not specified any particular ordering, we are referring
to the subgraph relation. When we speak of minimal or maximal sets of
vertices or edges, the reference is simply to set inclusion.
G ∗ G0 If G and G0 are disjoint, we denote by G ∗ G0 the graph obtained
from G ∪ G0 by joining all the vertices of G to all the vertices of G0 . For
comple-
ment G
example, K 2 ∗ K 3 = K 5 . The complement G of G is the graph on V
with edge set [V ]2 r E. The line graph L(G) of G is the graph on E in
line graph
L(G) which x, y ∈ E are adjacent as vertices if and only if they are adjacent
as edges in G.
G G
Fig. 1.1.4. A graph isomorphic to its complement
1.2 The degree of a vertex
Let G = (V, E) be a (non-empty) graph. The set of neighbours of a
N (v) vertex v in G is denoted by NG (v), or briefly by N (v).1 More generally
1
Here, as elsewhere, we drop the index referring to the underlying graph if the
reference is clear.
1.2 The degree of a vertex 5
for U ⊆ V , the neighbours in V r U of vertices in U are called neighbours
of U ; their set is denoted by N (U ).
The degree (or valency) dG (v) = d(v) of a vertex v is the number degree d(v)
|E(v)| of edges at v; by our definition of a graph,2 this is equal to the
number of neighbours of v. A vertex of degree 0 is isolated . The number isolated
δ(G) := min { d(v) | v ∈ V } is the minimum degree of G, the number δ(G)
∆(G) := max { d(v) | v ∈ V } its maximum degree. If all the vertices ∆(G)
of G have the same degree k, then G is k-regular , or simply regular . A regular
3-regular graph is called cubic. cubic
The number
1 X
d(G) := d(v)
|V | ∈ d(G)
v V
average
is the average degree of G. Clearly, degree
δ(G) 6 d(G) 6 ∆(G) .
The average degree quantifies globally what is measured locally by the
vertex degrees: the number of edges of G per vertex. Sometimes it will
be convenient to express this ratio directly, as ε(G) := |E|/|V |. ε(G)
The quantities d and ε are, of course, intimately related. Indeed,
if we sum up all the vertex degrees in G, we count every edge exactly
twice: once from each of its ends. Thus
X
|E| = 12 d(v) = 12 d(G) · |V | ,
v ∈V
and therefore
ε(G) = 12 d(G) .
Proposition 1.2.1. The number of vertices of odd degree in a graph is [ 10.3.3 ]
always even.
P P
Proof . A graph on V has 12 v ∈ V d(v) edges, so d(v) is an even
number. ¤
If a graph has large minimum degree, i.e. everywhere, locally, many
edges per vertex, it also has many edges per vertex globally: ε(G) =
2 d(G) > 2 δ(G). Conversely, of course, its average degree may be large
1 1
even when its minimum degree is small. However, the vertices of large
degree cannot be scattered completely among vertices of small degree: as
the next proposition shows, every graph G has a subgraph whose average
degree is no less than the average degree of G, and whose minimum
degree is more than half its average degree:
2
but not for multigraphs; see Section 1.10
6 1. The Basics
[ 3.6.1 ] Proposition 1.2.2. Every graph G with at least one edge has a sub-
graph H with δ(H) > ε(H) > ε(G).
Proof . To construct H from G, let us try to delete vertices of small
degree one by one, until only vertices of large degree remain. Up to
which degree d(v) can we afford to delete a vertex v, without lowering ε?
Clearly, up to d(v) = ε : then the number of vertices decreases by 1
and the number of edges by at most ε, so the overall ratio ε of edges to
vertices will not decrease.
Formally, we construct a sequence G = G0 ⊇ G1 ⊇ . . . of induced
subgraphs of G as follows. If Gi has a vertex vi of degree d(vi ) 6 ε(Gi ),
we let Gi+1 := Gi − vi ; if not, we terminate our sequence and set
H := Gi . By the choices of vi we have ε(Gi+1 ) > ε(Gi ) for all i, and
hence ε(H) > ε(G).
What else can we say about the graph H? Since ε(K 1 ) = 0 < ε(G),
none of the graphs in our sequence is trivial, so in particular H 6= ∅. The
fact that H has no vertex suitable for deletion thus implies δ(H) > ε(H),
as claimed. ¤
1.3 Paths and cycles
path A path is a non-empty graph P = (V, E) of the form
V = { x0 , x1 , . . . , xk } E = { x0 x1 , x1 x2 , . . . , xk−1 xk } ,
where the xi are all distinct. The vertices x0 and xk are linked by P and
are called its ends; the vertices x1 , . . . , xk−1 are the inner vertices of P .
length The number of edges of a path is its length, and the path of length k is
Pk denoted by P k . Note that k is allowed to be zero; thus, P 0 = K 1 .
G P
Fig. 1.3.1. A path P = P 6 in G
We often refer to a path by the natural sequence of its vertices,3
writing, say, P = x0 x1 . . . xk and calling P a path from x0 to xk (as well
as between x0 and xk ).
3
More precisely, by one of the two natural sequences: x0 . . . xk and xk . . . x0
denote the same path. Still, it often helps to fix one of these two orderings of V (P )
notationally: we may then speak of things like the ‘first’ vertex on P with a certain
property, etc.
1.3 Paths and cycles 7
For 0 6 i 6 j 6 k we write ˚
xP y, P
P xi := x0 . . . xi
xi P := xi . . . xk
xi P xj := xi . . . xj
and
˚ :=
P x1 . . . xk−1
P˚xi := x0 . . . xi−1
˚
xi P := xi+1 . . . xk
˚
xi P˚xj := xi+1 . . . xj−1
for the appropriate subpaths of P . We use similar intuitive notation for
the concatenation of paths; for example, if the union P x ∪ xQy ∪ yR of
three paths is again a path, we may simply denote it by P xQyR. P xQyR
P
y
y z
z
x Q x xP yQz
Fig. 1.3.2. Paths P , Q and xP yQz
Given sets A, B of vertices, we call P = x0 . . . xk an A–B path if A–B path
V (P ) ∩ A = { x0 } and V (P ) ∩ B = { xk }. As before, we write a–B
inde-
path rather than { a }–B path, etc. Two or more paths are independent pendent
if none of them contains an inner vertex of another. Two a–b paths, for
instance, are independent if and only if a and b are their only common
vertices.
Given a graph H, we call P an H-path if P is non-trivial and meets H-path
H exactly in its ends. In particular, the edge of any H-path of length 1
is never an edge of H.
If P = x0 . . . xk−1 is a path and k > 3, then the graph C :=
P + xk−1 x0 is called a cycle. As with paths, we often denote a cycle cycle
by its (cyclic) sequence of vertices; the above cycle C might be written
as x0 . . . xk−1 x0 . The length of a cycle is its number of edges (or vertices); length
the cycle of length k is called a k-cycle and denoted by C k . Ck
The minimum length of a cycle (contained) in a graph G is the girth girth g(G)
g(G) of G; the maximum length of a cycle in G is its circumference. (If circum-
G does not contain a cycle, we set the former to ∞, the latter to zero.) ference
An edge which joins two vertices of a cycle but is not itself an edge of chord
the cycle is a chord of that cycle. Thus, an induced cycle in G, a cycle in
induced
G forming an induced subgraph, is one that has no chords (Fig. 1.3.3). cycle
8 1. The Basics
x
y
Fig. 1.3.3. A cycle C 8 with chord xy, and induced cycles C 6 , C 4
If a graph has large minimum degree, it contains long paths and
cycles:
[ 3.6.1 ] Proposition 1.3.1. Every graph G contains a path of length δ(G) and
a cycle of length at least δ(G) + 1 (provided that δ(G) > 2).
Proof . Let x0 . . . xk be a longest path in G. Then all the neighbours of
xk lie on this path (Fig. 1.3.4). Hence k > d(xk ) > δ(G). If i < k is
minimal with xi xk ∈ E(G), then xi . . . xk xi is a cycle of length at least
δ(G) + 1. ¤
x0 xi xk
Fig. 1.3.4. A longest path x0 . . . xk , and the neighbours of xk
Minimum degree and girth, on the other hand, are not related (un-
less we fix the number of vertices): as we shall see in Chapter 11, there
are graphs combining arbitrarily large minimum degree with arbitrarily
large girth.
distance
dG (x, y) The distance dG (x, y) in G of two vertices x, y is the length of a
shortest x–y path in G; if no such path exists, we set d(x, y) := ∞. The
greatest distance between any two vertices in G is the diameter of G,
diameter
diam(G) denoted by diam(G). Diameter and girth are, of course, related:
Proposition 1.3.2. Every graph G containing a cycle satisfies g(G) 6
2 diam(G) + 1.
Proof . Let C be a shortest cycle in G. If g(G) > 2 diam(G) + 2, then
C has two vertices whose distance in C is at least diam(G) + 1. In G,
these vertices have a lesser distance; any shortest path P between them
is therefore not a subgraph of C. Thus, P contains a C-path xP y.
Together with the shorter of the two x–y paths in C, this path xP y
forms a shorter cycle than C, a contradiction. ¤
1.3 Paths and cycles 9
A vertex is central in G if its greatest distance from any other ver- central
tex is as small as possible. This distance is the radius of G, denoted radius
by rad(G). Thus, formally, rad(G) = minx ∈ V (G) maxy ∈ V (G) dG (x, y). rad(G)
As one easily checks (exercise), we have
rad(G) 6 diam(G) 6 2 rad(G) .
Diameter and radius are not directly related to the minimum or
average degree: a graph can combine large minimum degree with large
diameter, or small average degree with small diameter (examples?).
The maximum degree behaves differently here: a graph of large
order can only have small radius and diameter if its maximum degree
is large. This connection is quantified very roughly in the following
proposition:
[ 9.4.1 ]
Proposition 1.3.3. A graph G of radius at most k and maximum degree [ 9.4.2 ]
at most d has no more than 1 + kdk vertices.
Proof . Let z be a central vertex in G, and letSDi denote the set of
k
vertices of G at distance i from z. Then V (G) = i=0 Di , and |D0 | = 1.
Since ∆(G) 6 d, we have |Di | 6 d |Di−1 | for i = 1, . . . , k, and thus
|Di | 6 di by induction. Adding up these inequalities we obtain
X
k
|G| 6 1 + di 6 1 + kdk .
i=1
¤
A walk (of length k) in a graph G is a non-empty alternating se- walk
quence v0 e0 v1 e1 . . . ek−1 vk of vertices and edges in G such that ei =
{ vi , vi+1 } for all i < k. If v0 = vk , the walk is closed . If the vertices
in a walk are all distinct, it defines an obvious path in G. In general,
every walk between two vertices contains4 a path between these vertices
(proof?).
1.4 Connectivity
A non-empty graph G is called connected if any two of its vertices are connected
linked by a path in G. If U ⊆ V (G) and G [ U ] is connected, we also call
U itself connected (in G).
[ 1.5.2 ]
Proposition 1.4.1. The vertices of a connected graph G can always be
enumerated, say as v1 , . . . , vn , so that Gi := G [ v1 , . . . , vi ] is connected
for every i.
4
We shall often use terms defined for graphs also for walks, as long as their
meaning is obvious.
10 1. The Basics
Proof . Pick any vertex as v1 , and assume inductively that v1 , . . . , vi
have been chosen for some i < |G|. Now pick a vertex v ∈ G − Gi . As G
is connected, it contains a v–v1 path P . Choose as vi+1 the last vertex
of P in G − Gi ; then vi+1 has a neighbour in Gi . The connectedness of
every Gi follows by induction on i. ¤
Let G = (V, E) be a graph. A maximal connected subgraph of G
component is called a component of G. Note that a component, being connected, is
always non-empty; the empty graph, therefore, has no components.
Fig. 1.4.1. A graph with three components, and a minimal
spanning connected subgraph in each component
If A, B ⊆ V and X ⊆ V ∪ E are such that every A–B path in
separate G contains a vertex or an edge from X, we say that X separates the
sets A and B in G. This implies in particular that A ∩ B ⊆ X. More
generally we say that X separates G, and call X a separating set in G,
if X separates two vertices of G − X in G. A vertex which separates
cutvertex two other vertices of the same component is a cutvertex , and an edge
bridge separating its ends is a bridge. Thus, the bridges in a graph are precisely
those edges that do not lie on any cycle.
v x y w
e
Fig. 1.4.2. A graph with cutvertices v, x, y, w and bridge e = xy
k-connected G is called k-connected (for k ∈ N) if |G| > k and G − X is connected
for every set X ⊆ V with |X| < k. In other words, no two vertices of G
are separated by fewer than k other vertices. Every (non-empty) graph
is 0-connected, and the 1-connected graphs are precisely the non-trivial
connected graphs. The greatest integer k such that G is k-connected
connectivity
κ(G) is the connectivity κ(G) of G. Thus, κ(G) = 0 if and only if G is
disconnected or a K 1 , and κ(K n ) = n − 1 for all n > 1.
If |G| > 1 and G − F is connected for every set F ⊆ E of fewer
`-edge-
connected than ` edges, then G is called `-edge-connected. The greatest integer `
1.4 Connectivity 11
G H
Fig. 1.4.3. The octahedron G (left) with κ(G) = λ(G) = 4,
and a graph H with κ(H) = 2 but λ(H) = 4
such that G is `-edge-connected is the edge-connectivity λ(G) of G. In edge-
particular, we have λ(G) = 0 if G is disconnected. connectivity
λ(G)
For every non-trivial graph G we have
κ(G) 6 λ(G) 6 δ(G)
(exercise), so in particular high connectivity requires a large minimum
degree. Conversely, large minimum degree does not ensure high connec-
tivity, not even high edge-connectivity (examples?). It does, however,
imply the existence of a highly connected subgraph:
Theorem 1.4.2. (Mader 1972)
[ 8.1.1 ]
Every graph of average degree at least 4k has a k-connected subgraph. [ 11.2.3 ]
Proof . For k ∈ { 0, 1 } the assertion is trivial; we consider k > 2 and a
graph G = (V, E) with |V | =: n and |E| =: m. For inductive reasons it
will be easier to prove the stronger assertion that G has a k-connected
subgraph whenever
(i) n > 2k − 1 and
(ii) m > (2k − 3)(n − k + 1) + 1.
(This assertion is indeed stronger, i.e. (i) and (ii) follow from our as-
sumption of d(G) > 4k: (i) holds since n > ∆(G) > d(G) > 4k, while
(ii) follows from m = 12 d(G)n > 2kn.)
We apply induction on n. If n = 2k − 1, then k = 12 (n + 1), and
hence m > 12 n(n − 1) by (ii). Thus G = K n ⊇ K k+1 , proving our claim.
We now assume that n > 2k. If v is a vertex with d(v) 6 2k − 3, we can
apply the induction hypothesis to G − v and are done. So we assume that
δ(G) > 2k − 2. If G is k-connected, there is nothing to show. We may
therefore assume that G has the form G = G1 ∪ G2 with |G1 ∩ G2 | < k
and |G1 |, |G2 | < n. As every edge of G lies in G1 or in G2 , G has no edge
between G1 − G2 and G2 − G1 . Since each vertex in these subgraphs has
at least δ(G) > 2k − 2 neighbours, we have |G1 |, |G2 | > 2k − 1. But then
at least one of the graphs G1 , G2 must satisfy the induction hypothesis