Can someone explain how to find the number of Hamiltonian cycles in a complete undirected graph?
Wikipedia says that the formula is (n-1)!/2
, but when I calculated using this formula, K3 has only one cycle and K4 has 5. Was my calculation incorrect?
Since the graph is complete, any permutation starting with a fixed vertex gives an (almost) unique cycle (the last vertex in the permutation will have an edge back to the first, fixed vertex. Except for one thing: if you visit the vertices in the cycle in reverse order, then that's really the same cycle (because of this, the number is half of what permutations of (n-1) vertices would give you).
e.g. for vertices 1,2,3, fix "1" and you have:
123 132
but 123 reversed (321) is a rotation of (132), because 32 is 23 reversed.
There are (n-1)! permutations of the non-fixed vertices, and half of those are the reverse of another, so there are (n-1)!/2 distinct Hamiltonian cycles in the complete graph of n vertices.
In answer to your Google Code Jam comment, see this SO question
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With