In graph theory, a Hamiltonian path in a directed graph is a directed path that goes through each node exactly once, except for the start and end (which are the same).
The problem is NP-complete — this means any problems we can reduce to a Hamiltonian path problem are also NP-complete. For example, the travelling salesman problem is essentially word-for-word a Hamiltonian path problem.