コード例 #1
0
ファイル: Dijkstra.cs プロジェクト: Neo4Net/Neo4Net
 /// <param name="startCost"> Starting cost for both the start node and the end node </param>
 /// <param name="startNode"> the start node </param>
 /// <param name="endNode"> the end node </param>
 /// <param name="costRelationTypes"> the relationship that should be included in the
 ///            path </param>
 /// <param name="relationDirection"> relationship direction to follow </param>
 /// <param name="costEvaluator"> the cost function per relationship </param>
 /// <param name="costAccumulator"> adding up the path cost </param>
 /// <param name="costComparator"> comparing to path costs </param>
 public Dijkstra(CostType startCost, Node startNode, Node endNode, CostEvaluator <CostType> costEvaluator, CostAccumulator <CostType> costAccumulator, IComparer <CostType> costComparator, Direction relationDirection, params RelationshipType[] costRelationTypes) : base()
 {
     this.StartCost         = startCost;
     this.StartNodeConflict = startNode;
     this.EndNodeConflict   = endNode;
     this.CostRelationTypes = costRelationTypes;
     this.RelationDirection = relationDirection;
     this.CostEvaluator     = costEvaluator;
     this.CostAccumulator   = costAccumulator;
     this.CostComparator    = costComparator;
 }
コード例 #2
0
 /// <param name="startCost">
 ///            The cost for just starting (or ending) a path in a node. </param>
 /// <param name="infinitelyBad">
 ///            A cost worse than all others. This is used to initialize the
 ///            distance matrix. </param>
 /// <param name="relationDirection">
 ///            The direction in which the paths should follow the
 ///            relationships. </param>
 /// <param name="costEvaluator"> </param>
 /// <seealso cref= <seealso cref="CostEvaluator"/> </seealso>
 /// <param name="costAccumulator"> </param>
 /// <seealso cref= <seealso cref="CostAccumulator"/> </seealso>
 /// <param name="costComparator"> </param>
 /// <seealso cref= <seealso cref="CostAccumulator"/> or <seealso cref="CostEvaluator"/> </seealso>
 /// <param name="nodeSet">
 ///            The set of nodes the calculation should be run on. </param>
 /// <param name="relationshipSet">
 ///            The set of relationships that should be processed. </param>
 public FloydWarshall(CostType startCost, CostType infinitelyBad, Direction relationDirection, CostEvaluator <CostType> costEvaluator, CostAccumulator <CostType> costAccumulator, IComparer <CostType> costComparator, ISet <Node> nodeSet, ISet <Relationship> relationshipSet) : base()
 {
     this.StartCost         = startCost;
     this.InfinitelyBad     = infinitelyBad;
     this.RelationDirection = relationDirection;
     this.CostEvaluator     = costEvaluator;
     this.CostAccumulator   = costAccumulator;
     this.CostComparator    = costComparator;
     this.NodeSet           = nodeSet;
     this.RelationshipSet   = relationshipSet;
 }
コード例 #3
0
 /// <seealso cref= Dijkstra </seealso>
 public SingleSourceShortestPathDijkstra(CostType startCost, Node startNode, CostEvaluator <CostType> costEvaluator, CostAccumulator <CostType> costAccumulator, IComparer <CostType> costComparator, Direction relationDirection, params RelationshipType[] costRelationTypes) : base(startCost, startNode, null, costEvaluator, costAccumulator, costComparator, relationDirection, costRelationTypes)
 {
     Reset();
 }