【发布时间】:2016-03-13 19:46:10
【问题描述】:
我只是想知道 Dijkstra 在 2D 中的时间复杂度
我知道二叉堆的 Dijkstra 是 O(ElogV)
但是如果我们有一个 n×n 二维数组,并且数组中的每个节点都表示顶点(x,y,权重)和
它可以有四个方向。上、下、左、右
因此,总顶点为 n^2,边约为 4(n^2)。例如,如果顶点在 中,那么我们必须寻找四个边
因此,如果我们在 2D 中运行算法,那么时间复杂度将为
-> ElogV -> 4(n^2) log n^2 -> 8(n^2)logn ~= n^2 log n.
是这样吗?
我很想得到答案。感谢您阅读本文。
【问题讨论】:
标签: algorithm big-o time-complexity shortest-path greedy