我有大约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!),但是接下来是什么。
答案 0 :(得分: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!)