Skip to main content

hamiltonian_cycle

Function hamiltonian_cycle 

Source
pub fn hamiltonian_cycle(graph: &Graph) -> IgraphResult<Option<Vec<u32>>>
Expand description

Find a Hamiltonian cycle using backtracking.

Returns Some(cycle) if one exists, None otherwise. Only feasible for small graphs.

ยงExamples

use rust_igraph::{Graph, hamiltonian_cycle, is_hamiltonian_cycle};

let g = Graph::from_edges(
    &[(0,1),(1,2),(2,3),(3,0)], false, Some(4)
).unwrap();
let c = hamiltonian_cycle(&g).unwrap();
assert!(c.is_some());
assert!(is_hamiltonian_cycle(&g, &c.unwrap()).unwrap());