## Key Ideas

• A Hamiltonian circuit of a graph visits each vertex exactly once, and returns to the starting point. There is no simple way to determine if a graph has a Hamiltonian circuit, and it can be hard to construct one.
• A number added to the edge of a graph is called a weight. A minimum-cost Hamiltonian circuit is one with the lowest possible sum of the weights of its edges. A step-by-step process (called an algorithm) for finding a minimum-cost Hamilton circuit is to find all circuits, find the sum of the weights, and choose the tour with the minimum sum.
• The method of trees can be used to help generate all possible Hamiltonian circuits.
• The fundamental principle of counting says that if there are a ways of choosing one thing, b ways of choosing a second after the first, ..., and z ways of choosing the last item after the earlier choices then there are a total of axbx⋅⋅⋅x z total ways to make such choices.
• Graphs may fail to have Hamiltonian circuits for a variety of reasons. One very important class of graphs, the complete graphs, automatically have Hamiltonian circuits. A graph is complete if every pair of vertices is joined by an edge. If a complete graph has n vertices, then there are (n−1)!/2 Hamiltonian circuits.
• The brute force method is one algorithm that can be used to find a minimum-cost Hamiltonian circuit, but it is not a very practical method for a large problem. This method tries all possibilities.