由较小算法组成的算法的大O表示法

时间:2014-02-25 17:27:19

标签: algorithm runtime big-o dijkstra bellman-ford

我正在进行一项任务,它采用一些图形,在图形中添加一个额外的顶点,以新的顶点作为源应用Bellman Ford,然后使用将Dijkstra的所有对应用于图形。

所使用的算法具有以下运行时间/空间要求:

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,我很难理解。每个程序都是单独运行的,输出是从一个程序到另一个程序的管道输出。我的虽然总算法的Big-O运行时间为:

O(V + EV + EV log V),这将简化为 O(EV log V)

空间要求将以类似的方式计算。我正确地想到了这个吗?谢谢!

1 个答案:

答案 0 :(得分:0)

确切地说,“经验法则”是,在一系列代码块中,整体复杂性由具有最大复杂性的块(渐近)主导

在物理上,当V倾向于非常大的数字时,它小于EV,小于EVlogV。因此,对于大V,算法的复杂性由EVlogV

很好地近似