其中V
是顶点数,E是边数,在最坏的情况下,所有节点都已连接,并且在每个节点处,您都在查看所有其他节点。那不就是O(V ^ 2)
吗?我查了一下,发现它实际上是O(V + E log V)
,但没有任何解释。
您仅考虑完全连接的图形情况。在给定某些输入参数的情况下,big-O表示法是最坏的情况,并且由于给定的复杂度使用V和E,因此这意味着完全连通的图是不相关的。对于一般的图,Dijkstra的算法将以O(V + ElogV)或更快速的速度结束;对于完全连接的图,当E约为(V ^ 2)/ 2时,它将以O(V ^ 2)结束,这确实比O(V +((V ^ 2)/ 2)logV)快。 >
否,Dijkstra使用Fibonacci堆