使用数组的Dijkstra算法的时间复杂度为O(V ^ 2),如果实现优先级队列,我们可以进一步提高O(E log V)的复杂度。但它的空间复杂性呢?两种情况都是O(V)吗?
答案 0 :(得分:1)
然而,(E >= V - 1) 所以 |V| + |E| ==> |E|。但通常我们同时使用V和E
答案 1 :(得分:0)
如果您使用MinHeap(又称为优先级队列)实现Disjkstra的最短路径算法,则该算法又使用数组存储堆,并且还使用数组存储数组中每个节点的最短距离值图,您的空间复杂度将为O(V) + O(V) = O(2V) =~ O(V)