Class BestFirstFrontierSearchAlgorithm<TVertex, TEdge>
Best first frontier search algorithm.
Inheritance
System.Object
AlgorithmBase<IBidirectionalIncidenceGraph<TVertex, TEdge>>
RootedAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>
RootedSearchAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>
BestFirstFrontierSearchAlgorithm<TVertex, TEdge>
Implements
IAlgorithm<IBidirectionalIncidenceGraph<TVertex, TEdge>>
ITreeBuilderAlgorithm<TVertex, TEdge>
Inherited Members
RootedSearchAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>.ClearTargetVertex()
RootedSearchAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>.TargetVertexChanged
RootedAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>.TryGetRootVertex(TVertex)
RootedAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>.GetAndAssertRootInGraph()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: QuikGraph.Algorithms.Search
Assembly: QuikGraph.dll
Syntax
public sealed class BestFirstFrontierSearchAlgorithm<TVertex, TEdge> : RootedSearchAlgorithmBase<TVertex, IBidirectionalIncidenceGraph<TVertex, TEdge>>, IAlgorithm<IBidirectionalIncidenceGraph<TVertex, TEdge>>, IComputation, IAlgorithmComponent, ITreeBuilderAlgorithm<TVertex, TEdge> where TEdge : IEdge<TVertex>
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Remarks
Algorithm from Frontier Search, Korkf, Zhand, Thayer, Hohwald.
Constructors
| Improve this Doc View SourceBestFirstFrontierSearchAlgorithm(IAlgorithmComponent, IBidirectionalIncidenceGraph<TVertex, TEdge>, Func<TEdge, Double>, IDistanceRelaxer)
Initializes a new instance of the BestFirstFrontierSearchAlgorithm<TVertex, TEdge> class.
Declaration
public BestFirstFrontierSearchAlgorithm(IAlgorithmComponent host, IBidirectionalIncidenceGraph<TVertex, TEdge> visitedGraph, Func<TEdge, double> edgeWeights, IDistanceRelaxer distanceRelaxer)
Parameters
Type | Name | Description |
---|---|---|
IAlgorithmComponent | host | Host to use if set, otherwise use this reference. |
IBidirectionalIncidenceGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
System.Func<TEdge, System.Double> | edgeWeights | Function that for a given edge provide its weight. |
IDistanceRelaxer | distanceRelaxer | Distance relaxer. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
BestFirstFrontierSearchAlgorithm(IBidirectionalIncidenceGraph<TVertex, TEdge>, Func<TEdge, Double>, IDistanceRelaxer)
Initializes a new instance of the BestFirstFrontierSearchAlgorithm<TVertex, TEdge> class.
Declaration
public BestFirstFrontierSearchAlgorithm(IBidirectionalIncidenceGraph<TVertex, TEdge> visitedGraph, Func<TEdge, double> edgeWeights, IDistanceRelaxer distanceRelaxer)
Parameters
Type | Name | Description |
---|---|---|
IBidirectionalIncidenceGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
System.Func<TEdge, System.Double> | edgeWeights | Function that for a given edge provide its weight. |
IDistanceRelaxer | distanceRelaxer | Distance relaxer. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
Methods
| Improve this Doc View SourceInternalCompute()
Algorithm compute step.
Declaration
protected override void InternalCompute()
Overrides
QuikGraph.Algorithms.AlgorithmBase<QuikGraph.IBidirectionalIncidenceGraph<TVertex, TEdge>>.InternalCompute()
Events
| Improve this Doc View SourceTreeEdge
Fired when an edge is encountered.
Declaration
public event EdgeAction<TVertex, TEdge> TreeEdge
Event Type
Type | Description |
---|---|
EdgeAction<TVertex, TEdge> |