我必须用java创建一个程序,使用简单的有向权重图,以找到在机场之间旅行的最低成本(权重)这可以是直飞航班。也可以通过航班连接。我想使用dijkstra的最短路径算法,但这给了我最短的距离,而不是最低的成本。例如:

Airport A -> Airport B = 210$
Airport A -> Airport C = 100$
Airport C -> Airport B = 100$

根据这个,我们有两种方法从A到B,一种是直接的,花费210美元,另一种是间接的,总花费200美元(便宜)。
因此,如果我使用Dijkstra的最短路径算法,它将给出第一个(即A->B),而我需要的答案是A->C->B。
你知道我怎样才能做到这一点吗?

最佳答案

使用dajkstra,但使用价格作为重量,而不是长度问题解决了。

10-08 15:19