Documente Academic
Documente Profesional
Documente Cultură
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.
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
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
Section 0: Introduction
w x
0 0
1 0
0 1
0 0
y
0
0
0
0
z
0
0
1
0
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
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.
Section 0: Introduction
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
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
Introduction
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
Section 0: Introduction
100
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.
Section 0: Introduction
12
13
Introduction
v
v
Section 0: Introduction
14
X
1
e1
6
4
Y
e2
e6
e5
e4
y
e7
e3
15
Introduction
Section 0: Introduction
16
the k added edges from an Eulerian circuit of G breaks it into k edgedisjoint trails whose union is G.
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
g
L(G)
h
i
L(H)
21
Introduction
GH
G+H
GH
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
[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
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).
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
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).
Section 0: Introduction
26
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.
[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
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.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 .