Add algorithm to find Hamiltonian cycle (#3151)

This commit is contained in:
Akshay Dubey
2022-06-20 23:37:41 +05:30
committed by GitHub
parent 6472d33092
commit 22be348c54
2 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,39 @@
package com.thealgorithms.datastructures.graphs;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class HamiltonianCycleTest {
private HamiltonianCycle hamiltonianCycle = new HamiltonianCycle();
@Test
void testFindHamiltonianCycleShouldReturnHamiltonianCycle() {
int[] expectedArray = {0,1,2,4,3,0};
int[][] inputArray = {
{0, 1, 0, 1, 0},
{1, 0, 1, 1, 1},
{0, 1, 0, 0, 1},
{1, 1, 0, 0, 1},
{0, 1, 1, 1, 0}
};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testFindHamiltonianCycleShouldReturnInfinityArray() {
int[] expectedArray = {-1,-1,-1,-1,-1,-1};
int[][] inputArray = {
{0, 1, 0, 1, 0},
{1, 0, 1, 1, 1},
{0, 1, 0, 0, 1},
{1, 1, 0, 0, 0},
{0, 1, 1, 0, 0}
};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
}