Skip to main content

is_hamiltonian_path

Function is_hamiltonian_path 

Source
pub fn is_hamiltonian_path(graph: &Graph, path: &[u32]) -> IgraphResult<bool>
Expand description

Check whether a sequence of vertices forms a valid Hamiltonian path.

A valid Hamiltonian path visits every vertex exactly once and each consecutive pair is connected by an edge.

ยงExamples

use rust_igraph::{Graph, is_hamiltonian_path};

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