6.1 Hamiltonian Paths with a Prescribed EndVertex
283
Theorem 6.1.2
[66] Let
D
= (
V, A
)
be a digraph which is either semicom
plete bipartite or extended locally outsemicomplete and let
x
∈
V
. Then
D
has a hamiltonian path starting at
x
if and only if
D
contains a 1pathcycle
factor
F
of
D
such that the path of
F
starts at
x
, and, for every vertex
y
of
V
{
x
}
, there is an
(
x, y
)
path
1
in
D
. Moreover, if
D
has a hamiltonian path
starting at
x
, then, given a 1pathcycle factor
F
of
D
such that the path of
F
starts at
x
, the desired hamiltonian path can be found in time
O
(
n
2
)
.
Proof:
As the necessity is clear, we will only prove the sufficiency. Suppose
that
F
=
P
∪
C
1
∪
...
∪
C
t
is a 1pathcycle factor of
D
that consists of a path
P
starting at
x
and cycles
C
i
,
i
= 1
, ..., t
. Suppose also that every vertex
of
D
is reachable from
x
. Then, without loss of generality, there is a vertex
of
P
that dominates a vertex of
C
1
. Let
P
=
x
1
x
2
. . . x
p
,
C
1
=
y
1
y
2
. . . y
q
y
1
,
where
x
=
x
1
and
x
k
→
y
s
for some
k
∈ {
1
,
2
, . . . , p
}
,
s
∈ {
1
,
2
, . . . , q
}
. We
show how to find a new path starting at
x
which contains all the vertices of
V
(
P
)
∪
V
(
C
1
). Repeating this process we obtain the desired path. Clearly,
we may assume that
k < p
and that
x
p
has no arc to
V
(
C
1
).
Assume first that
D
is an extended locally outsemicomplete digraph. If
P
has a vertex
x
i
which is similar to a vertex
y
j
in
C
1
, then
x
i
y
j
+1
, y
j
x
i
+1
∈
A
and using these arcs we see that
P
[
x
1
, x
i
]
C
[
y
j
+1
, y
j
]
P
[
x
i
+1
, x
p
] is a path
starting from
x
and containing all the vertices of
P
∪
C
1
. If
P
has no vertex
that is similar to a vertex in
C
1
, then we can apply the result of Exercise
4.37 to
P
[
x
k
, x
p
] and
x
k
C
1
[
y
s
, y
s

1
] and merge these two paths into a path
R
starting from
x
k
and containing all the vertices of
P
[
x
k
, x
p
]
∪
C
1
. Now,
P
[
x
1
, x
k

1
]
R
is a path starting at
x
and containing all the vertices of
P
∪
C
1
.
Suppose now that
D
is semicomplete bipartite. Then either
y
s

1
→
x
k
+1
,
which implies that
P
[
x
1
, x
k
]
C
1
[
y
s
, y
s

1
]
P
[
x
k
+1
, x
p
] is a path starting at
x
and covering all the vertices of
P
∪
C
1
, or
x
k
+1
→
y
s

1
. In the latter case,
we consider the arc between
x
k
+2
and
y
s

2
. If
y
s

2
→
x
k
+2
we can construct
the desired path, otherwise we continue to consider arcs between
x
k
+3
and
y
s

3
and so on. If we do not construct the desired path in this way, then we
find that the last vertex of
P
dominates a vertex in
C
1
, contradicting our
assumption above.
Using the process above and breadthfirst search, one can construct an
O
(
n
2
)algorithm for finding the desired hamiltonian path starting at
x
.
ut
Just as the problem of finding a minimum path factor generalizes the
hamiltonian path problem, we may generalize the problem of finding a hamil
tonian path starting at a certain vertex to the problem of finding a path factor
with as few paths as possible such that one of these paths starts at a specified
vertex
x
. We say that a path factor
starts at
x
if one of its paths starts at
x
and denote by pc
x
(
D
) the minimum number of paths in a path factor that
1