  In this paper we study quantum algorithms for NP-complete problems whose best
classical algorithm is an exponential time application of dynamic programming.
We introduce the path in the hypercube problem that models many of these
dynamic programming algorithms. In this problem we are asked whether there is a
path from $0^n$ to $1^n$ in a given subgraph of the Boolean hypercube, where
the edges are all directed from smaller to larger Hamming weight. We give a
quantum algorithm that solves path in the hypercube in time $O^*(1.817^n)$. The
technique combines Grover's search with computing a partial dynamic programming
table. We use this approach to solve a variety of vertex ordering problems on
graphs in the same time $O^*(1.817^n)$, and graph bandwidth in time
$O^*(2.946^n)$. Then we use similar ideas to solve the travelling salesman
problem and minimum set cover in time $O^*(1.728^n)$.
