dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub mod dijkstra_sparse_from_potential {

    //! consider shortest path problem as a linear programming.

    pub fn dijkstra(
        mut g: Vec<Vec<(usize, u64)>>,
        initial_potential: Vec<u64>,
    ) -> Vec<u64> {
        use crate::dijkstra_sparse::dijkstra as f;

        let n = g.len();

        assert_eq!(initial_potential.len(), n);

        g.push(initial_potential.into_iter().enumerate().collect());

        f(&g, n)[..n].to_vec()
    }
}