pub struct Bfs;Expand description
Online Pathfinder: unweighted 4-connected BFS.
Cost model: unit hop count; ignores traversal_cost. Optimal when hop cost is the
metric. Prefer for unweighted connectivity; use A*/Dijkstra when cell costs vary.
Trait Implementations§
impl Copy for Bfs
Source§impl Pathfinder for Bfs
impl Pathfinder for Bfs
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Stable algorithm identifier for benchmarks, logs, and solver portfolios.
Source§fn search(
&self,
grid: &Grid,
request: SearchRequest,
) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
fn search( &self, grid: &Grid, request: SearchRequest, ) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
Auto Trait Implementations§
impl Freeze for Bfs
impl RefUnwindSafe for Bfs
impl Send for Bfs
impl Sync for Bfs
impl Unpin for Bfs
impl UnsafeUnpin for Bfs
impl UnwindSafe for Bfs
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more