pub fn build_undirected_adjacency( node_count: usize, edges: &[(usize, usize)], ) -> Result<Vec<Vec<usize>>, AdjacencyError>