Sunteți pe pagina 1din 14

1

Introduction

0. INTRODUCTION
Many applications ask for the best structure of a certain type in a
given binary relation, or among a family of binary relations the best one
under some criterion. This book is devoted to such problems. We use
graphs to model binary relations, and we study problems in graph theory with an extremal flavor.
Problems where we seek for each given input an extremal substructure of a special type are called optimization problems, and the output is a parameter or invariant of the input structure. We use extremal
problem to mean determining the extreme value of a parameter over a
class of inputs. Our discussion will include related existence or enumeration problems where appropriate. Topics whose primary flavor involves
existence or enumeration appear in other volumes in this series.
This introduction collects fundamental definitions and examples and
proves elementary structural results. It is background material for the
remainder of the book, to be consulted as a quick reference.
Our notation for sets includes N for the set of positive integers, N0
for the set of nonnegative integers, [n] for the set of the first n positive
integers (for n N0), 2 n for the family of subsets of [n], and (Sk ) for the
family of k-element subsets of a set S.

VERTICES, EDGES, AND ADJACENCY


The fundamental model we study may depend on the context in which
applications arise. Thus there are alternative definitions of the word
graph; authors use this word to describe whichever model they study
most often. We use the definition favored by most graph theorists.
0.1. DEFINITION. A graph G is an ordered pair consisting of a vertex
set V(G) and an edge set E(G), where each edge (element of E(G))
is a set of two vertices (elements of V(G)). The vertices of an edge
are its endpoints. We write xy for an edge with endpoints x and y.

Section 0: Introduction

A graph is finite if its vertex set is finite. All our graphs are finite
unless explicitly stated otherwise.
A binary relation on a set U is a subset of the cartesian product
U U. A relation is symmetric when it contains (x , y) if and only if
it contains (y , x); adjacency in graphs can model any symmetric binary
relation. Thus we may say that a graph with vertex set U is a graph on
U or defined on U. To model general binary relations, we need ordered
pairs of vertices.
0.2. DEFINITION. A directed graph or digraph G consists of a vertex set V(G) and an edge set E(G), where each edge is an ordered
pair of vertices. The vertices of an edge are its endpoints, the first
being the tail and the second the head. We write xy for the edge
with tail x and head y and call it an edge from x to y.
A digraph is symmetric if xy is an edge whenever yx is an edge.
A digraph is antisymmetric if xy and yx cannot both be edges.
Since graphs can be modeled by symmetric digraphs, they can be
treated as a special class of digraphs. We view general digraphs as a common extension of graphs and antisymmetric digraphs, since those are the
most applicable models. For this reason, we use the same terms vertex and
edge in both contexts. Many results about graphs have natural extensions
or analogues for digraphs, sometimes with the same proofs, and it would
be artificial to change the terminology to state the extension.
In various contexts for graphs and digraphs, vertices have also been
called points, nodes, etc., and edges have been called lines, links, arcs,
segments, etc. The terms vertex and edge arise from the vertices and
edges of polyhedra in space, such as cubes or tetrahedra.
Some graphs and digraphs are related in natural ways.
0.3. DEFINITION. A graph G obtained from an antisymmetric digraph
D by treating the edges as unordered pairs is the underlying graph
of D. An orientation of a graph G is an antisymmetric digraph
whose underlying graph is G. An oriented graph is a digraph that
is an orientation of a graph.
To visualize a [di]graph, we draw it.
0.4. DEFINITION. A drawing of a graph (in the plane) assigns distinct
points to the vertices and distinct curves to the edges, such that the
endpoints of the curve for an edge are the points for its vertices. For
a digraph, arrows on the curves direct the edges from tails to heads.

Introduction

We further assume that distinct curves in a drawing have only


finitely many common points and dont intersect themselves. We may
omit the names of vertices or edges in drawings. We show two drawings
of a graph and a drawing of an orientation of it.
u
y

0.6. Example. Each ordering of the vertices determines an adjacency


matrix. Below we draw a graph G and an orientation H of G and give the
adjacency matrices associated with the vertex ordering w , x , y , z.

G a b

w
A(G) x
y
z

w x
0 1
1 0
0 1
0 0

w
c

H a b

y
0
1
0
1

z
0
0
1
0

w
A(H) x
y
z

position (i , j) if and only if vi e j , and {(vi , e j): vi e j } is the incidence relation.


For a digraph G with no edge of the form (v , v), the incidence
matrix has +1 in position (i , j) if vi is the tail of e j , 1 if vi is the
head of e j , and otherwise 0.

0.5. DEFINITION. The adjacency relation of a [di]graph G is {(x , y): xy


E(G)}. When xy E(G), in a graph we say x is adjacent to y (written x y), and in a digraph we say x dominates y (written x y).
We write xy
/ E(G) as x = y or x 6 y. Given an ordering v1 , . . . , vn
of V(G), the adjacency matrix A(G) is the binary matrix where the
entry in position (i , j) is 1 if and only if vi vj E(G).
In a graph, the neighborhood of a vertex x is {v: v x}, written N(x). The closed neighborhood is N(x) {x}, written N[x]. In
a digraph, a successor of x is a vertex y such that x y; a predecessor is a vertex y such that y x. We write N +(x) for the set of
successors of x and N (x) for the set of predecessors of x.

Section 0: Introduction

w x
0 0
1 0
0 1
0 0

y
0
0
0
0

z
0
0
1
0

0.7. DEFINITION. In a [di]graph G, vertex v and edge e are incident


if v is an endpoint of e. (We also use incident for two edges sharing
a vertex.) With vertices v1 , . . . , vn and edges e1 , . . . , e m , the incidence matrix M(G) for a graph G is the binary matrix with 1 in

In a drawing of G, the relation associating each curve with its endpoints is the incidence relation of G. In this sense, we can think of the
drawing as being the graph. Below we show incidence matrices for the
graph and digraph of Example 0.6.
a
w 1
M(G) x 1
y 0
z 0

b c
0 0
1 0
1 1
0 1

a
w 1
M(H) x 1
y
0
z
0

b
0
1
1
0

c
0
0
1
1

To model binary relations, digraphs must allow ordered pairs of the


form (x , x) as edges. If xx E(G), then x belongs to both N +(x) and N (x).
We may also want to allow multiple copies of edges, generalizing the edge
set to a multiset, for either graphs or digraphs.
0.8. DEFINITION. A multigraph [multidigraph] is a structure consisting of vertices and edges in which the edges form a multiset of
unordered [ordered] pairs of (not necessarily distinct) vertices; the
multiplicity of an edge is its multiplicity in this multiset.
A loop is a (degenerate) edge whose two endpoints are equal.
Multiple edges are sets of at least two edges having the same endpoints (in order if the edges are ordered pairs). A loopless [di] graph
is a multi[di]graph with no loops. A simple graph is a multigraph
with no loops or multiple edges.
Thus simple graph means precisely what we have called graph. We
sometimes use simple graph (or ordinary graph) to emphasize the
absence of loops and multiple edges, especially when discussing multigraphs. Multigraphs are equivalent to weighted graphs in which a
nonnegative integer weight is associated with each edge; the weight on
edge xy in the graph is the multiplicity of xy in the multigraph. For the
adjacency matrix of a multi[di]graph, the entry in position (i , j) is the
multiplicity of the edge vi vj . For a multigraph to be finite, we require
finiteness of both the vertex set and the edge multiset.

Introduction

Sometimes loops and multiple edges are natural, and repeated use
of multigraph is awkard. In such topics, many authors define graph
to allow loops and multiple edges. For consistency, we do not change definitions. We will need multiple edges and loops only rarely; in this volume, they are most relevant in the discussion of edge-coloring (Chapter
3). Many statements about graphs are valid also for multigraphs, but
often we consider only the simpler setting.

ISOMORPHISM AND VERTEX DEGREES


The adjacency matrix of a graph implicitly indexes the vertices by the
order of the rows; the ith vertex corresponds to the ith row and column.
Usually we study properties that do not depend on the vertex names. If
there is a one-to-one correspondence between V(G) and V(H) that preserves the adjacency relation (and the multiplicities in the case of multigraphs), then G and H have the same structural properties.
0.9. DEFINITION. An isomorphism from G to H is a bijection f : V(G)
V(H) such that the multiplicity of uv in E(G) equals the multiplicity
of f(u)f(v) in E(H). We say G is isomorphic to H , written G
=
H , if there is an isomorphism from G to H. On any set of graphs,
the isomorphism relation is {(G , H): G
= H}.
To show that G is isomorphic to H , it suffices to exhibit an isomorphism. To show that none exists, it suffices to find a structural property
of G (independent of the names of vertices) that fails for H. No easily
tested property is known that always demonstrates this.
An equivalence relation is a binary relation that is reflexive, symmetric, and transitive.
0.10. PROPOSITION. On any set of multigraphs, the isomorphism relation is an equivalence relation.

Section 0: Introduction

0.12. REMARK. Isomorphism classes. Comments about the structure of


a graph G apply also to every graph isomorphic to G. We therefore sometimes use the informal expression unlabeled graph to mean an isomorphism class of graphs. Every drawing of a graph is a representative of its
isomorphism class, usually chosen to illuminate some structural aspect.
When two graphs are isomorphic, we often use the same name for
them; this recognizes that the object of importance is the isomorphism
class. Therefore, we usually write G = H instead of G
= H. Asking
whether a given graph is G is asking whether it is isomorphic to G.
0.13. DEFINITION. A path with n vertices is a [di]graph whose vertices can be named v1 , . . . , vn so that the edges are {vi vi+1 : 1 i
n 1}. In terms of the vertex names, we use v1 , . . . , vn to specify
the path. Without vertex names, Pn denotes the isomorphism class.
A cycle consists of a path plus an edge from its last vertex to its
first. That is, the vertices can be named v1 , . . . , vn so that the edges
are {vi vi+1 : 1 i n 1} {vn v1 }. In terms of the vertex names,
we use [v1 , . . . , vn] to specify the cycle. Without vertex names, Cn
denotes the isomorphism class.
The paths v1 , . . . , vn and vn , . . . , v1 are the same graph. The
square brackets used in specifying a cycle suggest its closing by the addition of vn v1 . Since choosing a different starting point or direction does
not change the graph, there are 2n ways to designate an n-vertex cycle
by listing its vertices in order.
Often we speak of paths and cycles in [di]graphs.
0.14. DEFINITION. A subgraph of a [di]graph G is a [di]graph H such
that V(H) V(G) and E(H) E(G). A spanning subgraph of G is
a subgraph H such that V(H) = V(G). An induced subgraph of G,
induced by vertex set S V(G), is the subgraph H with vertex set S
such that E(H) = {uv E(G): u , v S}; we write this as H = G[S].
A proper subgraph of G is a subgraph of G not equal to G.

G; hence =
is reflexProof: The identity permutation of V(G) yields G =
ive. The inverse of an isomorphism from G to H is an isomorphism from
is symmetric. The composition of isomorphisms from F
H to G; hence =
is transitive.
to G and G to H is an isomorphism from F to H ; hence =

We use the term subgraph also with digraphs to avoid the awkward
term subdigraph. When the full structure is a digraph, the substructures will also be digraphs, not graphs. The same usage holds for multigraphs: when G is a multigraph, subgraphs of G are multigraphs and
may have loops or multiple edges if G does.

0.11. DEFINITION. An isomorphism class is an equivalence class under the isomorphism relation.

0.15. Example. We list several subgraphs of the graph drawn below. The
only spanning induced subgraph of a graph is the full graph itself.

Introduction

vertex
set
w, x , y, z
x , y, z
x , y, z

edge
spanning
induced
set
subgraph? subgraph?
xy , yz
yes
no
xy , yz
no
no
xy , yz , x z
no
yes
w

z
y

0.16. DEFINITION. The complement of a [di]graph G is the [di]graph


G on V(G) such that uv E(G) if and only if uv
/ E(G). A complete
graph is a graph whose vertices are pairwise adjacent. A tournament is an orientation of a complete graph. We use K n to denote a
complete graph with n vertices. Its complement K n is the trivial
graph with n vertices. A triangle is a 3-vertex complete graph.
A set of pairwise adjacent vertices is a clique. A set of pairwise nonadjacent vertices is a stable set, independent set, or anticlique. A nontrivial graph is a graph with at least one edge.
We say H is a subgraph of G or G contains a copy of H to mean
that H is isomorphic to a subgraph of G. For example, K n is a subgraph of
G whenever G has a clique with n vertices. Using clique for a set of vertices and complete subgraph for a graph treats cliques and independent
sets analogously; the size of a clique is thus its number of vertices.
0.17. DEFINITION. A graph G is bipartite if V(G) is the disjoint union
of two (possibly empty) stable sets. These sets form a bipartition of
G, and the sets in a bipartition are partite sets or simply parts. An
X , Y -bigraph is a bipartite graph with partite sets X and Y . The
biadjacency matrix of an X , Y -bigraph G is the submatrix of A(G)
formed by the rows for X and the columns for Y .
A graph G is k-partite if V(G) is the disjoint union of k (possibly empty) stable sets, again called parts or partite sets. For k 2,
the complete multipartite graph K n1 ,... ,nk is the k-partite graph
with parts of sizes n1 , . . . , nk such that any two vertices from different parts are adjacent. When k = 2, this is a complete bipartite
graph; we sometimes use the shorter term biclique.
Every graph is k-partite for some k, since individual vertices are stable sets. Partite sets may be empty, so every k-partite graph is l-partite
if k l.

Section 0: Introduction

0.18. Example. The Petersen graph. The Petersen graph has vertex set
([5]
), the family of 2-element subsets of {1 , 2 , 3 , 4 , 5}. The graph is de2
fined by letting two vertices be adjacent if they are disjoint as sets. Each
graph below is a drawing of the Petersen graph; that is, the graphs drawn
are pairwise isomorphic. In labeling the vertices, we write the 2-element
sets as doubletons without set brackets or commas, for clarity. These
pairs designate vertices, not edges.
The Petersen graph is the smallest example illustrating many interesting properties. It generally is small enough to permit exhaustive analysis but large enough to exhibit interesting behavior. An entire book
(HoltonSheehan [1993]) is devoted to it. The more general Odd graph
Ok is the disjointness graph on ([2kk+1]), and the Kneser graph K(n , k)
).
is the disjointness graph on ([n]
k
12

45

13
41

23

35

52
24

51

34

0.19. PROPOSITION. In the Petersen graph, nonadjacent vertices


have exactly one common neighbor, the shortest cycle has five vertices, and there is no spanning cycle.
Proof: Nonadjacent vertices are doubletons sharing one element; their
union S has three elements. A vertex adjacent to both must be a doubleton disjoint from both. Since the doubletons are chosen from a 5-element
set, there is exactly one doubleton disjoint from S.
The graph is simple, so it has no 1-cycle or 2-cycle. A 3-cycle would
require three pairwise disjoint doubletons. A 4-cycle in the absence of 3cycles would require nonadjacent vertices with two common neighbors.
An example of a 5-cycle is [12 , 34 , 51 , 23 ,45].
Suppose that the Petersen graph has a 10-cycle C, expressed as
[v0 , . . . , v9 ]. Each vertex of C has a neighbor in G via an edge not in
C. Since the girth is 5, that neighbor must be opposite or nearly-opposite
on C. Making two consecutive vertices of C adjacent to the vertices opposite them would create a 4-cycle. By symmetry, we may therefore assume
that v0 v4 . Now there is no way to give v9 another neighbor without
creating a cycle of length at most 4.

Introduction

0.20. DEFINITION. An automorphism of G is an isomorphism from


G to G. A graph G is vertex-transitive if for each pair u , v V(G)
some automorphism maps u to v. A graph G is edge-transitive if
for each pair e , f E(G) some automorphism maps the vertex set of
e to the vertex set of f .
The Petersen graph is vertex-transitive and edge-transitive and has
120 automorphisms. The biclique K r,s is edge-transitive, but when m 6= n
it is not vertex-transitive. We present other vertex-transitive graphs.
0.21. Example. Circulant graphs. We generalize Cn . Let V(G) be Zn , the
set of integers modulo n. Given a set S Zn , put uv E(G) if and only if
v u S. Such a graph G is vertex-transitive. The example Cnk consists of
n vertices on a circle with each vertex adjacent to the k nearest vertices
in each direction. Below we show C93 .

110

000

011

111

001

101

is the number of incidences of vertex v with edges. A loop at v contributes twice to d(v). A vertex of degree k is k-valent. For digraphs
we also define the indegree d(v) and the outdegree d+(v), which
are the number of edges entering and leaving v (an edge leaves its
tail and enters its head). A graph is regular if its vertices have the
same degree, k-regular if that degree is k.
0.24. PROPOSITION. (Degree-Sum Formula) A graph G has
edges. A digraph G has v dG(v) (or v d+G(v)) edges.

1
2

v d G(v)

Proof: Every edge of an undirected graph has two vertices, and every
edge of a directed graph has one head and one tail. Counting the incidences by edges or by vertices yields the desired formula.
0.25. COROLL ARY. Every undirected graph has an even number of
vertices of odd degree.

These definitions and statements about vertex degrees are valid also
for multigraphs.

0.22. Example. k-dimensional cubes. The k-dimensional cube or hypercube is the graph Qk defined on the vertex set {0 , 1}k by making two
k-tuples adjacent if and only if they differ in exactly one position. Below
we show Q3 , suggesting an equivalent inductive definition.
In the sense of isomorphism classes, Qk is a subgraph of Q l when
k l (even though the vertices of Qk have shorter names than those of
Q l). The cube Qk is vertex-transitive and edge-transitive and has k!2k
automorphisms.
010

10

0.26. Example. Regular graphs. The Petersen graph is 3-regular; the


cube Qk is k-regular. A k-regular graph with n vertices has kn/2 edges.
No regular graph of odd degree has an odd number of vertices.

Section 0: Introduction

WALKS AND TRAILS


Graph theorists disagree on terminology to describe movement along
edges. The difficulties involve repetitions of vertices or edges and whether
to evoke terminology from topology or traveling. Due to the ease of confusion, here we list only the terminology used in this book.
0.27. DEFINITION. A walk in a [di]graph G (of length k) is a list
v0 , . . . , vk of vertices such that vi1 vi E(G) for 1 i k (vertices and edges may repeat). These edges are in the walk. A walk
with no repeated edges is a trail (vertices may repeat). A u , v-trail
or u , v-walk) is one with first vertex u and last vertex v; these are
its endpoints. A walk is closed if its endpoints are the same. The
length of a walk, path, cycle, or trail is the number of edges.

100

0.23. DEFINITION. The degree or valence of v, written d G(v) or d(v),

The requirement vi1 vi E(G) forces successive edges of a walk in a


digraph to follow the arrows. In a multi[di]graph, technically we must

11

Introduction

specify both the vertices and the edges in a walk, since there may be more
than one edge from vi1 to vi . In a simple graph, a walk is completely
specified by its list of vertices, and this is the notation we usually use.
A path or cycle is a [di]graph, specified by an ordered list of vertices.
The paths v1 , . . . , vn and vn , . . . , v1 are the same graphs, but these
lists specify different trails, each of which traverses the path. Similarly,
a cycle of length k in a graph corresponds to 2k closed trails, and it is
specified by listing the vertices as [v1 , . . . , vn] in order along any of them
(use of the closed bracket [ ] avoids the redundancy of repeating the
first vertex, emphasizing that a cycle is a subgraph and can be specified
by any of the trails. A walk or trail traverses a (sub)graph, adding the
information about the order of traversal.
Many arguments in graph theory use extremality, making extremal
choices to obtain extra leverage in a proof. If S is a set on which an inclusion relation is defined, an element x S is maximal in S if no other element of S contains it. For example, a maximal path in a graph G is a path
not contained in another path in G. Every path of maximum length is a
maximal path, but maximal paths need not have maximum length. The
existence of maximal paths depends on our restriction to finite graphs;
many arguments involving extremality require finiteness.
0.28. LEMMA . If every vertex of a graph has degree at least 2, then it
contains a cycle. If every vertex of a digraph has indegree at least 1
or every vertex has outdegree at least 1, then it contains a cycle.
Proof: Extend an arbitrary edge to a maximal path P. Every neighbor
of an endpoint of P must belong to P (for digraphs, this becomes every
successor of the terminal vertex and every predecessor of the initial
vertex). The endpoint of P has an edge not on P that completes a cycle
with the portion of P starting at its other endpoint.

0.29. DEFINITION. A graph G is connected if for each pair x , y


V(G) there is an x , y-path in G; a component G is a maximal connected subgraph. A digraph G is strongly connected or strong
if for every ordered pair x , y V(G) there is an x , y-path in G; a
strong component is a maximal strong subdigraph.
The connection relation on V(G) is the set of pairs x , y V(G)
such that G has a u , v-path; we say u is connected to v or u and
v are connected by a path. A set S V(G) is a connected set of
vertices in G if G[S] is a connected subgraph of G.

Section 0: Introduction

12

A u , v-path and a v , w-path need not together form a u , w-path, but


together they must contain a u , w-path. When we speak of a path or cycle
contained in a walk, we mean that its edges occur in order (not necessarily
consecutively) among the edges traversed by the walk.
0.30. PROPOSITION. If P is a u , v-path in a graph or digraph G and
P is a v , w-path in G, then G contains a u , w-path.
Proof: Some vertex of P is also in P , since both contain v. Let x be the
first vertex of P that is in P . Following P from u to x and then P from
x to w yields a u , w path, since no vertex of P before x belongs to P .
0.31. COROLL ARY. Let G be a graph. The connection relation on V(G)
is an equivalence relation, and its equivalence classes are the vertex
sets of the components of G.
Proof: Reflexive property: v is connected to v by a path of length 0. Symmetric property: if P is a u , v-path, then the vertices of P in reverse form
a v , u-path. Transitive property: this is proved in Proposition 0.30.
Vertices u and v satisfy the connection relation if and only if there is
a u , v-path, which (being connected) appears in one component.
A subwalk of a walk W must traverse only edges of W , and for this
reason many authors list the edges between successive vertices when specifying a walk. Subwalks properly contained in W are obtained by iteratively deleting portions of the vertex list between repeated vertices.
0.32. COROLL ARY. If u , v are vertices in a graph or digraph G, then
every u , v-walk contains a u , v-path.
Proof: Given a u , v-walk W , let W be a minimal u , v-subwalk of W . If
some vertex repeats in W , then the portion of the list after its first appearance up to and including its next appearance can be deleted to obtain
a shorter u , v-subwalk. Hence W has no repetition and is a u , v-path.
A loop is a cycle of length 1, and multiple edges form cycles of length
2. A walk is odd or even when its length is odd or even.
0.33. LEMMA . Every odd closed walk contains an odd cycle.
Proof: Given an odd closed walk W , let W be a minimal odd closed subwalk of W when W is viewed cyclically. If some vertex repeats in W , it
splits W into closed portions of odd and even positive lengths. The odd

13

Introduction

portion is a shorter odd closed subwalk of W . Hence no vertex repeats


and W traverses an odd cycle.

0.34. DEFINITION. If x is connected to y in G, then the distance from


x to y, written d G(x , y) or d(x , y), is the length of a shortest x , ypath in G. If G has no x , y-path, then d(x , y) = . Given a vertex
indexing v1 , . . . , vn , the distance matrix is the matrix whose (i , j)entry is d(vi , vj). The diameter of G is max x ,yV(G) d(x , y).
The distance function of a graph is a metric on the vertex set: it is
nonnegative, symmetric, positive for distinct vertices, and satisfies the
triangle inequality d(x , y) + d(y , z) d(x , z). The distance function for a
digraph need not be symmetric. The notion of length extends naturally
for weighted graphs, where the length of a path (or walk) is the sum of
the weights as edges are traversed. When edge weights are used to model
lengths in a road network, for example, it is natural to allow them to
be real numbers. For an optimization problem on weighted graphs, the
unweighted case arises when each edge weight is 1.
0.35. THEOREM. A graph is bipartite if and only if it has no odd cycle.
Proof: A walk in a bipartite graph alternates between the partite sets. A
cycle ends where it starts, so the alternation makes it even. When G has
no odd cycle, we construct a bipartition of each component H of G. Choose
a vertex v V(H), and partition the vertices of H by the parity (odd or
even) of their distance from v. If x and y are adjacent vertices in the same
part, then following xy with a shortest y , v-path and a shortest v , x-path
yields an odd walk, which by Lemma 0.33 contains an odd cycle.

v
v

0.36. Example. Trees. A tree is a connected graph having no cycle.


Trees thus satisfy the characterization of bipartite graphs. We explore
structural and enumerative questions involving trees in Section 6.1.

Section 0: Introduction

14

Parity conditions also arise in the problem said to be the origin of


graph theory.
0.37. Example. The Konigsberg Bridge Problem. Located on the Pregel
river and containing the island of Kneiphopf, K o nigsberg had seven
bridges as shown on the left below. The citizens wondered whether a
stroll through the city could cross each bridge exactly once and return
home. This reduces to finding a closed trail traversing each edge in the
multigraph on the right.
The people convinced themselves that it was impossible. Euler [1736]
discussed the problem in greater generality.
x

X
1

e1
6

4
Y

e2

e6

e5

e4

y
e7

e3

0.38. DEFINITION. A circuit is a closed trail without specification of


the starting position. More precisely, it is an equivalence class of
closed trails that traverse the same edges in the same cyclic order. A
circuit containing every edge of G is an Eulerian circuit of G. A
trail containing every edge of G is an Eulerian trail. An Eulerian
[di] graph is a [di]graph that has an Eulerian circuit.
Each time a circuit visits a vertex, it contributes twice to the degree
by its entrance and exit. Thus a graph whose edges lie in a single circuit
must have even degree at each vertex. Euler noted that, when combined
with having only one nontrivial component, the condition of even vertex
degrees is sufficient, but no proof was published until Hierholzer [1873].
The key statement in our proof is equivalent to and perhaps more important than the characterization of Eulerian graphs.
0.39. DEFINITION. The union of [di]graphs G and H is the [di]graph
G H with vertex set V(G) V(H) and edge set E(G) E(H). A
decomposition of a [di]graph G is a list of pairwise edge-disjoint
subgraphs whose union is G.

15

Introduction

Section 0: Introduction

16

0.40. THEOREM. If every vertex of a graph G has even degree, then G


decomposes into cycles. In a digraph, the same statement holds if at
each vertex the indegree equals the outdegree.

the k added edges from an Eulerian circuit of G breaks it into k edgedisjoint trails whose union is G.

Proof: We view trivial components as cycles of length 0, which suffices


when G has no edges. Proceeding by induction, consider a nontrivial component of G. By Lemma 0.28, G contains a cycle C. Deleting the edges
of C from G leaves a [di]graph G with fewer edges than G. Combining
C with a decomposition of G provided by the induction hypothesis completes a decomposition of G into cycles.

Inductive arguments often involve deleting a vertex or an edge.

0.41. THEOREM. A graph has an Eulerian circuit if and only if it has at


most one nontrivial component and all vertex degrees are even. For
digraphs, the condition is that the underlying graph has at most one
nontrivial component and for each vertex, indegree equals outdegree.
Proof: The condition is necessary because we use an edge into and out of
a vertex every time we pass through it and must traverse all edges.
For sufficiency we use extremality. By Theorem 0.40, G decomposes
into cycles, which are circuits. Consider a decomposition of G into the
smallest number of circuits. If this has two distinct circuits, let e and e
be edges from distinct circuits in the decomposition. Since they lie in the
same component of G, there is a shortest path from the vertex set of e to
the circuit C containing e. The last edge on that path does not belong to
C. Hence we have two circuits sharing a vertex v. We can traverse one,
starting and ending at v, and then traverse the other, thereby forming a
single circuit that reduces the number of circuits partitioning E(G).
The same proof works for digraphs, except that the statement that
the nontrivial component has a path from each vertex to every other requires proof; see Exercise 32.
When the vertex degrees are not all even, we consider another decomposition. We use a standard transformation argument that is often
useful when parity of vertex degrees is relevant. This proof requires the
generality of multigraphs and uses that Theorem 0.41 and its proof are
valid also for multigraphs.
0.42. COROLL ARY. The edges of a connected multigraph with 2k > 0
vertices of odd degree can be partitioned into k trails and no fewer.
Proof: A trail contributes odd degree only to its endpoints, so a partition
of E(G) into trails has a trail ending at each vertex of odd degree. To
prove that k trails suffice, adding k edges joining pairs of vertices of odd
degree; multiple edges may arise. The resulting G is Eulerian. Deleting

0.43. DEFINITION. The induced subgraph of G obtained by deleting a


single vertex is G v. More generally, for S V(G) we write V(G) S
as S and write G[S] as G S. If M E(G), then G M indicates the
deletion of edges only, so G M is a spanning subgraph of G. When e
is an edge, we write G e for the graph obtained from G by deleting
e. If (x , y) is a known pair of nonadjacent vertices in G, then G + xy
is the graph obtained by adding the edge xy.
When G is edge-transitive, we write G for the graph obtained
by deleting any one edge from G. When G is edge-transitive, we write
G + for the graph obtained by adding to G any one edge of G.
A cut-vertex or cut-edge of G is a vertex or edge whose deletion
leaves a subgraph with more components than G.
0.44. LEMMA . An edge is a cut-edge if and only if it lies in no cycle.
Proof: Given e = xy E(G), let G = G e. If e is not a cut-edge, then
x and y belong to the same component in G , so G contains a x , y-path,
which completes a cycle with e in G.
Conversely, suppose that e belongs to a cycle C. We verify the definition of connectedness for G . For u , v V(G), let P be a u , v-path in G.
If e
/ E(P), then P also exists in G . Otherwise, suppose by symmetry
that P reaches x before y when traveled from u to v. Since G contains a
u , x-path along P , an x , y-path along C, and a y , v-path along P (see figure below), the transitivity of the connection relation implies that G e
has a u , v-path. Thus the connection relation is the same in G and G ,
and e is not a cut-edge.
C
u

x
y
e
P

In the remainder of this Introduction we introduce additional definitions and examples but prove no further results.

17

Introduction

GRAPH PARAMETERS
Graph parameters or invariants are numerical measures or structural properties of a graph that are independent of the indexing of the
vertices. They are invariant on the members of an isomorphism class.
0.45. DEFINITION. The order of a [di]graph G is the number of vertices, | V(G)| ; its size is | E(G)|. An n-vertex [di] graph is one with
order n.
0.46.* REMARK. Concise notation for order and size as graph parameters would be useful, but there is no agreed notation for this.
Textbook authors have tried hard: (G) , (G) (BondyMurty [1976]);
v(G) , e(G)(BondyMurty [2007]); | G | , e(G)(Bollobas
[1978, 1979, 1998]);
n(G) , e(G) (West [1996, 2001]); | G | , k G k (Diestel [1996, 2000, 2005]).
Conflicts arise because we use v and e for individual vertices and edges
and often use n for the order of a given graph. Although | G | , k G k avoid
these problems, researchers polled on the Internet disliked them for various reasons.
Other authors use special conventions: p , q (Harary [1969], Gould
[1988]); v , e (Wallis [2000]); n , m (ChartrandLesniak [19792005],
Volkmann [1991, 1996], BuckleyLewinter [2002]). These are not well
suited for discussing more than one graph at a time. The suggestion
#V(G) , #E(G) by V. Strehl avoids the difficulty, but voters did not prefer it to | V(G)| , | E(G)|.
We therefore adopt the practice of many research authors and most
books not listed above. We do not write order and size as functions, but
given a graph G we often set n = | V(G)| or say let G be an n-vertex
graph. We thus encourage the habit of using n for the order of a given
graph. Similarly, we often let m = | E(G)| , reserving e for a given edge.
0.47. DEFINITION. The list of vertex degrees of a graph G is the degree sequence or degree list (often indexed in nondecreasing order). The maximum and minimum vertex degrees are denoted (G)
and (G), respectively. We use +(G) , +(G) , (G) , (G) similarly
for maximum and minimum outdegree and indegree in digraphs.
0.48. DEFINITION. A graph G is k-connected if it has more than k
vertices and all subgraphs obtained by deleting fewer than k vertices
are connected. It is k-edge-connected if all subgraphs obtained by
deleting fewer than k edges are connected. The connectivity (G)

Section 0: Introduction

18

and edge-connectivity (G) are the maximum k such that G is kconnected or k-edge-connected, respectively.
The girth and circumference of a graph are the lengths of
its shortest and longest cycles. A graph having a spanning cycle is
Hamiltonian; a spanning cycle is a Hamiltonian cycle.
The definitions extend to digraphs by using strongly connected instead of connected. Because many aspects of k-connected graphs and
Hamiltonian cycles are structural in nature, the main discussion of these
appears in Volume II. Nevertheless, we will obtain the fundamental minmax relations about connectivity as applications in Chapter 2.
0.49. DEFINITION. The largest number of pairwise adjacent vertices
in a graph G is its clique number (G). The largest number of
pairwise nonadjacent vertices is its independence number (G). A
matching is a set of edges with no pair sharing a vertex. The maximum size of a matching (edge-independence number) is (G).
The use of (G) for independence number is common (also has been
used). From an evolutionary viewpoint , constructing a graph by iteratively adding edges, there are no edges present in the beginning , and
all are present in the end. This motivates our usage of and , which
are the first and last letters of the Greek alphabet. We often add to
the notation for a vertex parameter to form notation for a related edge
parameter.
The computation of (G) is a packing problem; we wish to pack
in many vertices with no two in one edge. The corresponding covering
problem seeks a small number of independent sets to cover the vertex
set. Another covering problem seeks a small number of closed neighborhoods to cover the vertex set.
0.50. DEFINITION. The chromatic number of G, written (G), is
the minimum number of stable sets with union V(G). Equivalently,
this is the minimum number of colors (labels) in a labeling of V(G)
such that adjacent vertices receive different colors. A graph is kcolorable if its chromatic number is at most k, which is equivalent
to being k-partite.
The minimum number of matchings with union E(G) is the
edge-chromatic number or chromatic index (G). This is the
number of colors needed to label the edges so that incident edges get
different colors. This problem is of interest also for multigraphs.

19

Introduction

A vertex subset S is a dominating set in a graph G if every vertex outside S has a neighbor in S. The domination number of G is
the minimum size of a dominating set.
We study matchings in Chapter 2 and colorings in Chapter 3, including generalizations of both problems. In Chapter 4 we study perfect
graphs; a graph G is perfect if (G[S]) = (G[S]) for every S V(G).
In Chapter 5 we consider a variety of additional graph parameters, many
related to packing or decomposition of graphs.
We postpone to Volume II many extremal problems about structural
topics, such as connectivity, circumference, and planarity. A graph is
planar if it has a drawing in the plane such that edges intersect only
at their common endpoints. For example, we postpone discussion of the
famous Four Color Theorem, which states that every planar graph is 4colorable.

OPERATIONS ON GRAPHS
We often construct new graphs from one or more other graphs. We
have mentioned complementation, vertex deletion, and edge deletion;
here we introduce several other operations.
0.51. DEFINITION. For e = uv E(G), the contraction of e produces
the multigraph G e from G by replacing u , v and e with a single vertex w incident to the edges formerly incident to u or v (other than e).
In a context restricted to simple graphs, the extra copies of edges that
arise by contraction of edges on triangles are discarded. The subdivision of e is the replacement of e = uv with a path u , w , v of length
two, where w is a new vertex.
For S V(G), the operation of collapsing or combining S produces a [multi]graph from G by replacing S with a single vertex
having incident edges corresponding to the edges of G that join S
to V(G) S.
Subdivision inverts the contraction of an edge incident to a vertex
of degree 2. Collapsing a pair of adjacent vertices has the same effect as
contracting the edge joining them. Sometimes we want to combine nonadjacent vertices, which is like contracting edges in the complement. Collapsing nonadjacent vertices has also been called identifying them, where
identifying is used in the sense of making identical.
The next operation turns incidence of edges into adjacency.

Section 0: Introduction

20

0.52. DEFINITION. The line [di] graph of G, written L(G), is the


[di]graph whose vertices are the edges of G, with ef E(L(G)) when
e = uv and f = vw in E(G).

g
L(G)

h
i

L(H)

For graphs, (G) = (L(G)) and (G) = (L(G)), which motivates


our notation for (G) and (G). Associated with each vertex of L(G) is
a set of size two (the endpoints of the corresponding edge in G), and vertices of L(G) are adjacent when the corresponding sets intersect. This
description generalizes.
0.53. DEFINITION. The intersection graph of a family S1 , . . . , Sn of
sets has a vertex for each set Si , with Si and Sj adjacent when Si Sj 6=
. The family is an intersection representation of the graph.
There are several ways to combine two graphs.
0.54. DEFINITION. The disjoint union or sum G + H is the union of
G and H when V(G) and V(H) are disjoint. Thus mG denotes the
disjoint union of m copies of G. The join of G and H , denoted G H ,
is the union of G + H with the biclique having parts V(G) and V(H).
The intersection G H has vertex set V(G) V(H) and edge set
E(G) E(H). The symmetric difference G H is the subgraph of
G H having edge set E(G H) = E(G) E(H) and no isolated vertices.
0.55. Example. Union, join, and symmetric difference. If G , H are connected graphs, then G + H is the disconnected graph with components G
and H. This is convenient when we have not named the vertices. Using
G = P4 and H = K 3 below, on the left we have chosen vertex sets that
share two elements.

21

Introduction

GH

G+H

GH

The graph mK 2 consists of m pairwise disjoint edges. We can express


K r,s as K r,s = K r + K s or as K r,s = (rK 1) (sK 1). More generally, we always have G + H = G H. We use join to express adjacency in u and
v are joined by an edge to reflect the definition of the join operation.
The symmetric difference of two matchings in G is a subgraph whose
components are paths and even cycles.
There are several varieties of graph products in which the vertex set
of the product is the cartesian product of the vertex sets of the factors.
0.56. DEFINITION. We specify a product of graphs G and H on the
vertex set V(G) V(H) by putting (u , v) (u , v) under specified
conditions on equality or adjacency for (u , u) in G and (v , v) in H.
name
cartesian product
weak product
strong product

coordinate conditions
notation
for (u , v) (u , v)
G H
one equality, one adjacency
G*H
adjacency in both coordinates
(equality or adjacency) in both
GH

The cartesian product G H consists of a copy of G for each vertex of


H and a copy of H for each vertex of G. The weak product (also called direct product, tensor product, Kronecker product, and categorical
product) is particularly appropriate in algebraic contexts. The strong
product (also called normal product) is rarely used.
Various notations have been used for these products; has been used
for each. When the factors are K 2 and K 2 , the three products are C4 , 2K 2 ,
and K 4 ; thus Neset r il popularized the notations , , (always the strong
product is the union of the cartesian and tensor products). We honor this
idea but use instead of to reserve for the cartesian product of sets.
Each of these products is associative and commutative.
The cartesian product was introduced by Shapiro [1953] and by
Sabidussi [1957, 1960]. The tensor product was introduced at least nine

[1958].
times with different names, initially by Berge [1958] and Culik
0.57. Example. Cartesian products. We show C3 K 2 below. For k
1, the hypercube Qk is defined recursively by Qk = Qk1 K 2 if k 1.

Section 0: Introduction

22

The m by n grid is the cartesian product Pm Pn ; its subgraphs are


grid graphs. The toroidal grid or discrete torus is Cm Cn . The
toroidal grid is 4-regular and vertex-transitive. The multi-dimensional
grid Pn1 Pnk is a common generalization of the grid and the k-cube.
b

c
a

b2

b1

c2

c1

=
a1

a2

Although repeated cartesian or tensor products of a graph with itself can be written using exponentiation, the most common use the this
notation has a different meaning.
0.58. DEFINITION. The kth power G k of G is the graph defined by
V(G k) = V(G) and E(G k) = {uv: d G(u , v) k}.
The graph Cnk of Example 0.21 is the kth power of the cycle Cn .
0.59. DEFINITION. For graphs G 0 , G 1 , . . . , G k on disjoint vertex sets
V0 and V1 , . . . , Vk with V0 = {v1 , . . . , vk }, the composition G 0 [G 1 , . . . , G k ]
consists of G 1 + + G k plus the edges {xy: x Vi , y Vj , vi vj
E(G 0)}. When G 1 = G k = H , we abbreviate the notation to G 0 [H]
and also use the term lexicographic product.
0.60. Example. Compositions. The composition can be viewed as expanding vi into a copy of G i for each i. To describe a graph consisting
of two disjoint cliques and a stable set, with all vertices in the cliques
adjacent to all in the stable set, we could write G = P3 [K m , K n , K p]; alternatively, G = K m ,p + K n . The complete k-partite graph K n1 ,... ,nk is
K k [K n1 , K nk ]. The graph C5 [K d], obtained by expanding each vertex
of C5 into a stable set of size d, is regular of degree 2d; it is in fact the
largest graph with maximum degree at most 2d that has no induced 2K 2
(see Chapter 5).
The lexicographic product was introduced by Harary [1959]. The use
of product in this term arises from V(G[H]) = V(G) V(H), but the
operation is not commutative.

23

Introduction

COMPLEXITY
We occasionally discuss algorithms for graph computations and describe their performance in terms of computational complexity. A simple
measure of the performance of a graph algorithm is its worst-case running time, as a function of the number of vertices (or edges) in the input
graph. A problem is efficiently solved if it has a solution algorithm whose
running time is bounded by a polynomial function of the size of the input.
The size of the input is its length in bits in some encoding of the
problem. Measuring size in a graph problem by the number of vertices
or edges suffices for our purposes. A polynomial in n is also a polynomial
in n2 or n3 , so the distinction between using vertices or edges or bits in
an encoding is unimportant for efficient solvability unless the problem
involves edge weights larger than exponential in the number of vertices.
Complexity considers asymptotic growth rates. The set of functions
whose magnitude is bounded above by a constant multiple of f (for sufficiently large arguments) is called O(f). Several pertinent sets of functions arise when comparing growth rates to f as listed below.
o(f) = {g: |g(x)|/|f(x)| 0}
O(f) = {g: c , a R such that |g(x)| c|f(x)| for x > a}
(f) = {g: c , a R such that |g(x)| c|f(x)| for x > a}
(f) = {g: |g(x)|/|f(x)| }
(f) = O(f) (f).

Derbyshire [2003] attributes Big Oh notation to Landau [1909],


but Landau [1909, p. 883] said he borrowed it from Bachmann [1884].
Properly speaking, o(f), O(f), (f), (f), and (f) are sets, and
it is correct to write g O(f) when describing the growth rate of g.
Mathematicians and computer scientists routinely write g(n) = O(f(n))
to mean g O(f) (see Knuth [1976]). Some avoid this by writing g(n) is
O(f(n)), treating O(f) as an adjective. We can compute with members
of O(f) somewhat as we do with congruence classes, but we have no no
symbol like for doing this. Thus in this book we sometimes use expressions like f(n) = n2 + O(n3/2) (meaning f(n) n2 O(n3/2)), but where
the grammar is appropriate we use the membership symbol.
Complexity theory considers decision problems that have yes/no
answers, such as does the input graph have a spanning cycle? Optimization problems (such as what is the maximum length of a cycle in
this graph?) can be solved by repeated decision problems, such as does
this graph have a cycle of length at least k?, where k is part of the input.
The class of decision problems solvable by an algorithm whose running
time is bounded by a polynomial in the size of the input is called P .

Section 0: Introduction

24

Many decision problems have no known polynomial-time solution algorithm but have a polynomial-time algorithm for verifying a YES answer. For example, if G has a Hamiltonian cycle, this can be verified by
giving the order of vertices on such a cycle and checking that successive
vertices are adjacent. It is verifying a NO answer that is difficult. If
we could check all possible sequences in parallel, each computation path
would be short.
A deterministic algorithm has only one computation path on a
given input. A nondeterministic algorithm has multiple computation
paths. A nondeterministic polynomial-time algorithm has one computation path for each value of a polynomial-length sequence of bits, with
each computation path running in polynomial time. It solves a decision
problem if for every input I, the answer to the problem on I is YES if
and only if the algorithm applied to I has at least one computation path
that returns YES. The class of decision problems having nondeterministic polynomial-time solution algorithms is NP . Because a machine having the power to follow many computation paths in parallel can also follow
one, P NP.
Most theoreticians believe that P 6= NP. A problem is NP-complete
if it belongs to NP and is NP-hard. A problem is NP-hard if it is as hard
as every problem in NP in the following sense. If a polynomial-time algorithm for B can be used to obtain a polynomial-time algorithm for A , then
B is as hard as A in the sense of polynomial-time worst-case complexity.
To show that B is as hard as A in this sense, we use B as a subroutine in
an algorithm to solve A or provide a polynomial-time transformation that
converts an arbitrary instance of A into an instance of B such that the
answer in B is YES if and only if the answer in A was YES. This allows
us to use an algorithm for B to obtain an algorithm for A.
Cook [1971] devised a generic transformation to reduce any problem
in NP to that of deciding whether an input logical formula is true for
some truth assignment for its variables. This problem is called SATISFIABILITY or SAT. Cooks result made SAT the first known NP-complete
problem. To prove that a problem B is NP-hard, we can reduce SAT to B.
Every problem proved NP-complete can then be used like SAT in this way.
In practice, a few fundamental NP-complete problems (see K arp [1972])
serve as the known NP-complete problem in most NP-completeness proofs.
A polynomial-time algorithm for an NP-complete problem could be
used to construct a polynomial-time algorithm for each problem in NP,
yielding P =NP. The conjecture that P 6=NP is supported by the failure
to find a polynomial-time algorithm for any problem in the large class of
NP-complete problems, despite years of search.
A thorough introduction to the theory of NP-completeness appears in

25

Introduction

GareyJohnson [1979]. An NP-completeness proof now only begins the


study of a problem. One often seeks to refine the boundary between P
and NP by finding polynomial-time solution algorithms for large classes
of inputs or by finding restricted classes of inputs on which the problem
remains NP-hard.
Mostly we use the notion of NP-completeness as motivation. NPcompleteness justifies studying heuristics that run quickly but do not obtain the optimal solution. It also leads us to study bounds on optimization
problems in terms of other parameters of a graph: a constructive proof of
a bound for graphs in a particular class yields an algorithm that does at
least as well as that bound at finding the true value of the parameter.

EXERCISES
A mark of () indicates that a problem is easier or shorter than most , while
(+) indicates that it is harder or longer than most , and () indicates that it
is particularly useful or instructive.
0.1. () Prove that the graphs of Example 0.18 are pairwise isomorphic.

0.2. () In each class below, determine the smallest order of a nonisomorphic pair
of multigraphs having the same list of vertex degrees.
a) multigraphs.

b) loopless graphs.

c) simple graphs.

0.3. () Prove that if a connected graph G is not a complete graph, then every
vertex of G belongs to some induced P3 .
0.4. () Let H be the square of a graph G. Prove that for every vertex v in H ,
the neighborhood of v in H induces a connected subgraph in G.
0.5. () Prove that a graph G is bipartite if and only if every subgraph H of G
has an independent set consisting of at least half of V(H).
0.6. () Prove that (G) + (G) | V(G)| when G is a bipartite graph.

0.7. () Given u V(G) and v V(H), determine the degree of the vertex (u , v)
in each of G H , G H , and G H in terms of d G(u) and d H (v).

0.8. For each k 4, determine the smallest n such that


a) There is a k-regular graph with n vertices.
b) There exist nonisomorphic k-regular graphs with n vertices.

0.9. Prove or disprove the following statements about graphs.


a) The union of the edge sets of distinct u , v-walks must contain a cycle.
b) The union of the edge sets of distinct u , v-paths must contain a cycle.
c) Every circuit is a union of pairwise edge-disjoint cycles.
d) If (G) 2, then every vertex of G belongs to some cycle.

Section 0: Introduction

26

0.10. () Use maximal paths to prove the following statements.


a) A graph G has a cycle of length at least (G) + 1, if (G) 2.
b) Every nontrivial graph has at least two non-cut-vertices.
0.11. (+) For a graph G, let c(G) denote the minimum k such that every edge lies
in a cycle of length at most k (c(G) is infinite when G has a cut-edge). Prove that
for n 3
the minimum of | E(G)| + c(G), taken over all n-vertex connected graphs,
is n + 2 n 1 . (ButlerMao [2007])
0.12. Prove that two maximum-length paths in a connected graph must intersect. Must they have a common edge?
0.13. Determine the maximum size of an n-vertex graph G under each of the
following conditions.
a) G has an independent set of size a.
b) G has k components.
0.14. Count the components of the graph with vertex set {0 , 1}n such that vertices are adjacent when they differ in exactly two coordinates.
0.15. Let G be a connected n-vertex graph with no induced subgraph isomorphic
to P4 or C4 . Prove that (G) = n 1. (Wolk)

0.16. (+) Suppose that G does not have two vertices of degree 1 with a common
neighbor. Prove that G has two adjacent vertices whose deletion does not increase
the number of components of G. (Hint: prove that the last two vertices of some
longest path have this property.) (Lovasz
[1979, p269])
0.17. Prove or disprove:
a) Deleting a maximum degree vertex cannot increase the average degree.
b) Deleting a minimum degree vertex cannot reduce the average degree.

0.18. () Let G be a graph with average vertex degree a.


a) Determine a necessary and sufficient condition on d(x) so that G x has
average degree at least a.
b) Use part (a) to give an algorithmic proof that if a > 0, then G has a subgraph with minimum degree greater than a/2.
c) Prove that part (b) is best possible: for all > 0, construct a graph having
no subgraph with minimum degree greater than half its average degree plus .
0.19. () Let G be an n-vertex graph with m edges. Prove that if n > k and m >
(k 1)(n k/2), then G has a subgraph with minimum degree at least k (Bollobas

[1978], pxvii])
0.20. Let G be a graph with average degree a and no isolated vertices. Let t(v)
denote the average of the degrees of the neighbors of v. Prove that t(v) a for
some v V(G). Construct an infinite family of connected graphs G such that
t(v) > a for all v V(G). (Ajtai-Komlos-Szemere di [1980])
0.21. () Let G be a graph with n vertices.
a) Prove that if (G) n/2 , then G is connected.

27

Introduction

b) Prove or disprove: If (G) = n/2 1 and (G) = n/2 , then G is connected.


0.22. () Let G be an X , Y -bipartite graph that is regular of degree k 2. Prove
that | X | = | Y |. Prove also that G has no cut-edge.

Section 0: Introduction

28

0.34. () Prove that an even graph with n vertices and m edges decomposes into
at most n log m cycles. (Comment: ErdosGoodmanP o sa [1966] conjectured that
O(n) cycles suffice to decompose any even graph with n vertices.)

0.23. Determine the smallest bipartite graph that is not a subgraph of the kdimensional cube Qk for any k.

0.35. Given a strong digraph G, let f(G) be the minimum length of a closed walk
visiting every vertex of G. Prove that the maximum of f(G) over strong n-vertex
digraphs is (n + 1)2/4 if n 2. (Cull [1980])

0.24. Prove that Qk has connectivity k.

0.36. Prove that each graph below is isomorphic to C3

0.25. For k N, let G be the subgraph of Q2k+1 induced by the vertices in which
the number of ones and zeros differs by 1. Prove that G is vertex-transitive and
edge-transitive, and compute the order, size and girth of G.
0.26. Let S be a subset of V(Qk) such that d Qk (x , y) 3 whenever x , y are distinct vertices of S. Use the pigeonhole principle to prove that | S| 2 k/(k + 1) .
Show that the bound is best possible when k = 3. (Comment: this bound is not
best possible when k = 4.)
0.27. Prove or disprove each statement below.
a) For every nontrivial graph G, there is a partition of V(G) into two
nonempty sets such that for each vertex at least half of its neighbors lie in the
other of the two sets in the partition.
b) For every nontrivial graph G, there is a partition of V(G) into two
nonempty sets such that for each vertex at least half of its neighbors lie in its
own set.
0.28. () For each k, prove that every loopless multigraph G has a k-partite subgraph with at least (1 1/k) | E(G)| edges.

0.29. Let G be a graph, and let f(G) be the maximum number of edges in a bipartite subgraph of G.
a) Prove that f(G) > | E(G)| /2 for every nontrivial graph G.
b) Construct a sequence of graphs, with G n having order 2n, such that
limn fn/ | E(G n)| = 1/2.

0.30. For the Petersen graph, determine the largest number of edges in a bipartite subgraph, the chromatic number, the edge-chromatic number, the connectivity, the edge-connectivity, and the diameter.
0.31. (+) The Odd graph Ok (Example 0.18). Determine the maximum number
of edges in a bipartite subgraph of Ok .
0.32. () Characterization of Eulerian digraphs.
a) Prove that every graph G has an orientation D that is balanced at each
vertex, meaning that RRRRd+D(v) dD(v)RRRR 1 for every v V(G).
b) Use part (a) to complete the proof of the characterization of Eulerian digraphs in Theorem 0.41.)
0.33. Let P be a path in an Eulerian graph G. Prove that G has an Eulerian
circuit in which the edges of P appear consecutively (in the order on P) if and
only if G E(P) has only one nontrivial component. (T. Jiang)

C3 .

0.37. Determine whether the graphs below are isomorphic.

0.38. () Prove that K n is a union of k bipartite graphs if and only if n 2 k .

S-ar putea să vă placă și