Dijkstra的算法是线性时间吗?

时间:2012-09-16 01:19:39

标签: algorithm dijkstra a-star

O(|E| + |V| log |V|)

我知道这个愚蠢的问题,但是如果有一个日志是线性的吗?

2 个答案:

答案 0 :(得分:7)

不,O(VlogV)= / = O(V),因为VlogV与V的比率偏离无穷大

答案 1 :(得分:4)

“如果有日志是线性的”问题的答案是否定的。线性通常指O(N)

这意味着它取决于图形,并且通过考虑边缘和顶点可以更精确地测量复杂性。更简单的界限是O(V^2),因为在最坏的情况下|E| = O(V^2)因此O(|V^2| + |V| log |V|) = O(V^2)。最好的情况是|E| = 0,所以O(|V| log |V|),所以运行时间永远不会是线性的。