Dijkstra的算法:邻接矩阵复杂性问题

时间:2012-11-26 18:21:40

标签: data-structures graph-algorithm

我有一个实现Dijkstra算法的任务。我们给出了骨架代码,它将图形作为邻接矩阵输入,但是告诉我们的解决方案必须在O(MlogN){M-edges,N-vertices}中运行。我看到PQ和列表结构将如何实现这一点,但我不知道如何在我的情况下避免使用O(N ^ 2)解决方案。离开矩阵的唯一方法是迭代每一行和每列......对吗?

1 个答案:

答案 0 :(得分:1)

错误。您的任务不是对矩阵中的每个值执行操作,而是查找2个节点之间的最短路径。您的案例中的矩阵是保存数据的媒介,它不会改变算法的复杂性。 O(MlogN)算法可以自由使用,例如在这里:Dijkstra's algorithm