time-complexity - O(n) 和 O(log n) 的乘积是多少?

标签 time-complexity big-o mergesort

在学习归并排序算法,发现归并排序的时间复杂度是O(n log n)

想知道我们是否可以说 O(n log n) = O(n) * O(log n)?

最佳答案

不,这样做真的没有意义。 Big-O 函数产生函数集,并且集不能相乘。

更一般地说,您通常不会对 O(...) 结果执行任何操作。没有加法、减法、乘法。没有代数。 O(...) 通常出现在证明的结论处:“根据上面的分析,我得出结论,Finkle 算法的最坏情况复杂度是 O(whatever)。”它不会'它不会真正出现在中间,人们可能会对其进行代数操作。

(我想您可以执行集合操作。我从未见过有人这样做。)

关于time-complexity - O(n) 和 O(log n) 的乘积是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65608031/

相关文章:

algorithm - 模拟理论 - 如何排序只有 log(p)?

math - O 表示法 : 2^log(O(n^2)) = 2^O(log(n^2))?

c++ - 具有两个嵌套循环的非递归合并排序 - 如何?

ruby - 正则表达式 - 这个用于素数检测的正则表达式的复杂性是多少?

c++ - Int 数组上的归并排序 C++

c - 在 C 中进行合并排序时不断获取垃圾值

algorithm - 搜索本文数据库的复杂性

java - 集合 addAll 方法用于一组唯一值

java - 如何使用递归树估计生成字符串排列的时间复杂度

clojure - clojure 库函数的大 O