对于加权有向图,有哪些算法可以找到从顶点A到顶点K的最大成本和路径?
我在考虑修改Dijkstra,但在观察和学习这个算法时,我发现它不能用于负权重,不能用于找到最大成本。
答案 0 :(得分:0)
您可以使用A *(A-star)算法的修改版本。我说修改但实际上不会被修改。你只需要一个合适的启发式方法。它是一种路径查找算法,您只需要设置启发式选择最昂贵的路径。
A *的工作原理是从某个顶点V开始,然后将所有顶点的相邻邻居添加到打开的列表中。然后,在您的情况下,它会移动到成本最高的节点。先前访问的节点被移动到关闭列表。然后,将当前节点的所有相邻节点添加到打开列表中。依此类推。
它会找到你的K,如果你的启发式方法总是选择最昂贵的路径,你将拥有最大的成本路线。
答案 1 :(得分:0)
我建议如下:选择任何算法以获得最低成本(距离),也适用于负边(因此Dijkstra不能用于此)。然后使用每个边的成本的否定来运行该算法。例如,您可以使用Bellman–Ford算法。