我想知道如何为最短路径问题分配最大成本值。在我的问题中,我有与节点相关的风险。所以我想尽量减少风险,但尽管如此,我希望它找到一个节点数量有限的解决方案(例如,找到节点A到节点B的最小风险,同时确保解决方案不超过n个节点)。很多。如何限制最短路径 - dijkstra算法的最大代价?
1
A
回答
2
Dijkstra算法最好先搜索,即我们应该肯定的是,以最好的节点的距离永远不会变得更好。它适用于具有非负边的最小Dijkstra。在一般情况下,您可以使用Ford-Bellman。如果你想使用不超过n个顶点,我可以建议你采用动态规划DP [顶] [used_vertex_count]与复杂度为O(| V | * n)的状态和内存和O(| E | * n)的时间。或者创建图形的邻接矩阵,其中主对角线上的零点和缺少边缘的无穷远点并计算它的n指数。 a_ {ij}将使用不超过n个顶点从i到j的最小路径。
0
我认为一些算法,包括启发式会得到更好的适合这里,启发式是如何“接近”你是在每一步的目标的一个概念,哪个节点将带你更接近球门。如果没有这些,我认为我们需要在最坏的情况下运行一个指数算法(当只使用n
节点无法达到目标时,我们会在所有使用n
节点的路径之前得出结论该问题无法解决)。
使用非启发式算法的一个例子是:以常规方式运行Dijkstra's,选择最小风险的节点。一路上,跟踪您访问过的节点数量。如果节点数超过n
,则放弃当前路由并回溯到前一个节点,并使用具有次低风险的节点。当然,你不能仅仅回溯到n
以上的一个等级,因为如果目标是在下一个等级中的话,它就会被挑选出来。因此,你回到n-2
水平并继续。这也将是指数性的,因为没有检查所有路径来确定不存在的真实方式。
这也可能是我想的东西。
-1
你想用Prim算法,因为它发现在给定的图全部最小生成树。然后很容易选择具有所需约束的mst。
相关问题
- 1. AFP Dijkstra的最短路径算法
- 2. Dijkstra的算法最短路径
- 3. Dijkstra的最短路径算法修改
- 4. 增量Dijkstra或最短路径算法?
- 5. 的Dijkstra最短路径算法无限循环
- 6. 最短路径Dijkstra Java
- 7. Neo4j 2.2.5 - Dijkstra最短路径
- 8. Dijkstra的算法 - 只有负成本的DAG最短路径
- 9. Dijkstra std :: priority_queue的最短路径算法性能vs std :: set
- 10. Dijkstra的算法不会生成最短路径?
- 11. 最短路径tsp算法
- 12. 最短路径算法
- 13. 使用Dijkstra的多条最短路径
- 14. 做一个C++ 11 Dijkstra算法实现返回最短路径
- 15. 最佳最短路径算法
- 16. Dijkstra的最短路径算法如何与优先级队列一起工作?
- 17. 我们如何知道Dijkstra算法是最好的单源最短路径算法?
- 18. 寻找最短路径数的算法
- 19. Floyd的最短路径算法C++
- 20. 在android中的最短路径算法
- 21. 用Dijkstra算法寻找最短路的方法
- 22. 调整到最短路径算法
- 23. 最短路径更快 - SPFA算法?
- 24. Floyd-Warshall算法:得到最短路径
- 25. 最短路径算法递归
- 26. 概率和最短路径算法
- 27. 最短路径/伪代码
- 28. 最短路径
- 29. Dijkstra的算法找到最权重的路径
- 30. 图最短路径?