Class BreadthFirst<T>
A graph solver which exhaustively searches a graph by only considering the distance searched so far.
Inherited Members
Namespace: PathFinder.Solvers.Generic
Assembly: PathFinder.dll
Syntax
public sealed class BreadthFirst<T> : SolverBase<T>, IGraphSolver<T>, IComparer<GraphNodeMetaData<T>> where T : IEquatable<T>
Type Parameters
Name | Description |
---|---|
T | The type of nodes to traverse. Must extend ITraversableNode<T> if traverser is null. |
Remarks
Useful in cases in which a estimation function is not possible or wildly inaccurate.
Constructors
| Improve this Doc View SourceBreadthFirst(T, T, INodeTraverser<T>)
Creates a solver using the Breadth First method.
Declaration
public BreadthFirst(T origin, T destination, INodeTraverser<T> traverser = null)
Parameters
Type | Name | Description |
---|---|---|
T | origin | |
T | destination | |
INodeTraverser<T> | traverser | The INodeTraverser<T> implementation to use when traversing the graph -or-
|
Methods
| Improve this Doc View SourceSolve(T, T, out IList<T>, INodeTraverser<T>, Int32)
Finds a path between the origin and destination node using the Breadth First method.
Declaration
public static SolverState Solve(T origin, T destination, out IList<T> path, INodeTraverser<T> traverser = null, int maxTicks = 1000000)
Parameters
Type | Name | Description |
---|---|---|
T | origin | |
T | destination | |
IList<T> | path | The resulting path if Success, otherwise |
INodeTraverser<T> | traverser | The INodeTraverser<T> implementation to use when traversing the graph -or-
|
System.Int32 | maxTicks | The maximum number of ticks to run before failing. |
Returns
Type | Description |
---|---|
SolverState | The SolverState of the solver after running. |