  A Hamiltonian path (a Hamiltonian cycle) in a graph is a path (a cycle,
respectively) that traverses all of its vertices. The problems of deciding
their existence in an input graph are well-known to be NP-complete, in fact,
they belong to the first problems shown to be computationally hard when the
theory of NP-completeness was being developed. A lot of research has been
devoted to the complexity of Hamiltonian path and Hamiltonian cycle problems
for special graph classes, yet only a handful of positive results are known.
The complexities of both of these problems have been open even for $4K_1$-free
graphs, i.e., graphs of independence number at most $3$. We answer this
question in the general setting of graphs of bounded independence number.
  We also consider a newly introduced problem called
\emph{Hamiltonian-$\ell$-Linkage} which is related to the notions of a path
cover and of a linkage in a graph. This problem asks if given $\ell$ pairs of
vertices in an input graph can be connected by disjoint paths that altogether
traverse all vertices of the graph. For $\ell=1$, Hamiltonian-1-Linkage asks
for existence of a Hamiltonian path connecting a given pair of vertices. Our
main result reads that for every pair of integers $k$ and $\ell$, the
Hamiltonian-$\ell$-Linkage problem is polynomial time solvable for graphs of
independence number not exceeding $k$. We further complement this general
polynomial time algorithm by a structural description of obstacles to
Hamiltonicity in graphs of independence number at most $k$ for small values of
$k$.
