pub struct Dijkstra;Expand description
Dijkstra’s Algorithm for weighted shortest paths
Use when edges have non-negative weights (e.g., exploit difficulty). Time: O((V + E) log V), Space: O(V)
Implementations§
Source§impl Dijkstra
impl Dijkstra
Sourcepub fn shortest_path(
graph: &GraphStore,
source: &str,
target: &str,
) -> ShortestPathResult
pub fn shortest_path( graph: &GraphStore, source: &str, target: &str, ) -> ShortestPathResult
Find shortest weighted path from source to target
Sourcepub fn shortest_paths_from(
graph: &GraphStore,
source: &str,
) -> HashMap<String, Path>
pub fn shortest_paths_from( graph: &GraphStore, source: &str, ) -> HashMap<String, Path>
Find shortest paths from source to ALL reachable nodes
Auto Trait Implementations§
impl Freeze for Dijkstra
impl RefUnwindSafe for Dijkstra
impl Send for Dijkstra
impl Sync for Dijkstra
impl Unpin for Dijkstra
impl UnsafeUnpin for Dijkstra
impl UnwindSafe for Dijkstra
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request