2014-02-25 46 views
0

我正在做一個需要一些圖的任務,向圖中添加一個額外的頂點,將Bellman Ford與新頂點一起作爲源,然後使用Dijkstra的所有對圖表。由較小算法組成的算法的大O表示法

所使用的算法有運行時間/空間要求:

 
Adding extra vertex 
-- Running Time: V 
-- Space: V 
Bellman Ford single source shortest path algorithm 
-- Running time: EV 
-- Space: V 
Dijkstra's all pairs shortest path algorithm 
-- Running time: EV log V 
-- Space: V 

我有困難的理解,如果我計算總過程的大O字。每個程序都是分開運行的,輸出從程序到程序。我雖然是總的算法將有一個大O運行時間:

O(V + EV + EV日誌V)這將簡化爲O(EV日誌V)

空間要求將以類似的方式計算。我是這樣想的嗎?謝謝!

+0

該圖存儲爲鄰接列表還是存儲爲鄰接矩陣? – mbatchkarov

+0

鄰接列表。 – user3293009

回答

0

確切的,「經驗法則」是,在代碼塊的序列,整體複雜性由塊具有最大複雜度(漸近)

Matematically,當V趨於非常大的數字爲主,它比EV小,小於EVlogV。因此,對於大V,算法的複雜度近似於EVlogV