我在Neo4j的首發,我想知道是否有可能使用Neo4j的,我在那裏有一個成本找到最佳路徑,但我想第一個最佳路徑,和第二最佳路徑等等...如何找到最佳路徑GraphAlgoFactory(第一最好的,退而求其次,等..)
如果我有3條可能的路徑,我需要通過成本得到訂購的所有3,如果我有100條可能的路徑,我需要限制的結果太(例如,前10名成績)。
這是可能的Neo4j的?
PS:在我的測試中,我用java-愛仕達路由示例:https://github.com/neo4j-examples/java-astar-routing
謝謝,對不起我的英文不好),
您可以使用Dijkstra或A *並使用finder.getAllPaths(),然後按成本/重量排序。 –
@MichaelHunger我認爲哪個finder.getAllPaths()返回所有最佳路徑,如果這些路徑具有相同的最佳成本,它將返回多於一個結果。我首先需要的最好的,退而求其次,等等... –
所以通過(懶惰)結果迭代器遍歷和最好成績,一個(如果很多)從第二最好成績返回一個(如果有很多)...等等。 Dijkstra和AStar返回具有成本訪問器的WeightedPath對象。 –