Efficient Hamiltonian cycle algorithms for graph classes

One class of graphs for which many NP-hard problems (including finding a Hamiltonian cycle) are easy (linear-time) are graphs of bounded tree-width. Indeed, by Courcelle's theorem any problem which can be expressed in a certain logic called monadic second-order logic ($MSO_2$) can be solved in linear-time on the class of graphs of tree-width at most $k$ (for any fixed $k$).

For your specific question, for a subset $F$ of edges of a graph $G$, it is fairly straightforward to encode in $MSO_2$ the property that $F$ is connected and it is also easy to express the property that every vertex of $G$ is incident to exactly two edges in $F$. Taking the conjunction of these properties gives the property that $F$ is a Hamiltonian cycle.


I am not sure your reduction to Euler cycle is complete.

According to Wikipedia

If a graph G has an Euler cycle, that is, if G is connected and has an even number of edges at each vertex, then the line graph of G is Hamiltonian. (However, not all Hamiltonian cycles in line graphs come from Euler cycles in this way.)

This does appear iff to me and $G$ can be non-eulerian, while $L(G)$ might have Hamiltonian cycles for different reasons.

Added

A paper claims:

It is shown that the existence of a Hamilton cycle in the line graph of a graph G can be ensured by imposing certain restrictions on certain induced subgraphs of G.


In fact, it can be proved that Hamiltonian Cycle remains $\mathsf{NP}$-hard even for a very restricted subclass of line graphs: line graphs of $1$-subdivisions of planar cubic bipartite graphs. These graphs are cubic. Not surprisingly the same holds if we pass to $4$-regular line graphs: Hamiltonian Cycle remains $\mathsf{NP}$-hard for line graphs of planar cubic bipartite graphs.

Both results can be obtained by reductions from Hamiltonian Cycle restricted to planar cubic bipartite graphs:

T. Akiyama, T. Nishizeki, N. Saito, NP-Completeness of the Hamiltonian Cycle Problem for Bipartite Graphs, Journal of Information Processing 3 (1980) 73-76.