对于n
个电台,我们会n*n
矩阵A
,A[i][j]
表示从电台i
到j
的直接旅程时间( i,j< = n)。
在车站之间旅行的人总是寻求最少的时间。鉴于两个电台号码a
,b
,如何计算它们之间的最短旅行时间?
这个问题可以在不使用图论的情况下解决,即只用矩阵A吗?
答案 0 :(得分:5)
你需要图论来解决它 - 更具体地说,你需要Dijkstra's algorithm。将图表表示为矩阵既不是该算法的优点也不是缺点。
但请注意,Dijkstra的算法要求所有距离都是非负的。如果由于某种原因,矩阵中的“距离”为负,则必须使用较慢的Bellman-Ford algorithm。
(如果你真的热衷于使用矩阵运算并且不介意它会非常慢,你可以使用基于非常简单的矩阵运算的Floyd-Warshall algorithm来计算最短路径在所有对站之间(大规模矫枉过正),然后挑选你感兴趣的那对......)
答案 1 :(得分:-4)
这看起来非常类似于NP难以旅行的推销员问题。