Given an undirected complete graph of N vertices where N > 2. The task is to find the number of different Hamiltonian cycle of the graph.
Complete Graph: A graph is said to be complete if each possible vertices is connected through an Edge.
Hamiltonian Cycle: It is a closed walk such that each vertex is visited at most once except the initial vertex. and it is not necessary to visit all the edges.
Input : N = 6 Output : Hamiltonian cycles = 60 Input : N = 4 Output : Hamiltonian cycles = 3
Let us take the example of N = 4 complete undirected graph, The 3 different hamiltonian cycle is as shown below:
Below is the implementation of the above approach:
// Java program for implementation
// of the above program
// Function that calculates
// number of Hamiltonian cycle
static int Cycles(int N)
int fact = 1, result = 0;
result = N – 1;
// Calculating factorial
int i = result;
while (i > 0)
fact = fact * i;
return fact / 2;
// Driver code
public static void main(String args)
int N = 5;
int Number = Cycles(N);
System.out.println(“Hamiltonian cycles = ” +
// This code is contributed
// by Code_Mech.
Hamiltonian cycles = 12
- Hamiltonian Cycle | Backtracking-6
- Total number of Spanning trees in a Cycle Graph
- Number of single cycle components in an undirected graph
- Proof that Hamiltonian Path is NP-Complete
- Coloring a Cycle Graph
- Degree of a Cycle Graph
- C++ Program for Cycle Sort
- Detect Cycle in a Directed Graph using BFS
- Detect cycle in an undirected graph
- Check if a graphs has a cycle of odd length
- Detect cycle in an undirected graph using BFS
- Detect Cycle in a Directed Graph
- Check if there is a cycle with odd weight sum in an undirected graph
- Detecting negative cycle using Floyd Warshall
- Detect Cycle in a directed graph using colors
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.