计算复杂性顺序

问题描述 投票:0回答:1

我有大约8种具有不同时间复杂度的算法,我想知道它们从最慢到最快的顺序。

(Algorith1) O(n^3)
(Algorith2) O(1)
(Algorith3) O(log(n) + n)
(Algorith4) O(nlog(n))
(Algorith5) O(log(n))
(Algorith6) O(n^2 + nlog(n))
(Algorith7) O(n!)
(Algorith8) O(2^n)

我知道最慢和最差的表现是O(n!)但接下来会有什么表现。

time-complexity big-o complexity-theory
1个回答
0
投票

不要绘制图形并检查Big-O!渐近复杂度并不那么简单,你需要在前面考虑所有可能的常数并加入(例如O(100n + log(n)仍然相当于O(n))。这就是说,足够大n和前面的任意常数:

O(1) << O(log(n)) << O(log(n) + n) << O(nlog(n)) << O(n^2 + nlog(n)) << O(n^3) << O(2^n) << O(n!)
© www.soinside.com 2019 - 2024. All rights reserved.