pub struct BidirectionalBfs;Expand description
Online Pathfinder: bidirectional BFS meeting in the middle.
Cost model: unit hop count; ignores traversal_cost. Prefer over one-sided BFS on
large uniform open fields; same metric as BFS when both terminate correctly.
Trait Implementations§
Source§impl Clone for BidirectionalBfs
impl Clone for BidirectionalBfs
Source§fn clone(&self) -> BidirectionalBfs
fn clone(&self) -> BidirectionalBfs
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BidirectionalBfs
Source§impl Debug for BidirectionalBfs
impl Debug for BidirectionalBfs
Source§impl Default for BidirectionalBfs
impl Default for BidirectionalBfs
Source§fn default() -> BidirectionalBfs
fn default() -> BidirectionalBfs
Returns the “default value” for a type. Read more
Source§impl Pathfinder for BidirectionalBfs
impl Pathfinder for BidirectionalBfs
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 BidirectionalBfs
impl RefUnwindSafe for BidirectionalBfs
impl Send for BidirectionalBfs
impl Sync for BidirectionalBfs
impl Unpin for BidirectionalBfs
impl UnsafeUnpin for BidirectionalBfs
impl UnwindSafe for BidirectionalBfs
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