algorithm - O(nlogn) + O(n) 的时间复杂度是否只是 O(nlogn)?

标签 algorithm time-complexity big-o

假设我有一个长度为 n 的数组,我使用时间为 nlogn 的排序算法对它进行了排序。得到这个排序后的数组后,我遍历它以找到任何具有线性时间的重复元素。我的理解是,由于操作是分开发生的,所以时间是 O(nlogn) + O(n) 而不是 O(nlogn+n)。如果是这样的话,nlogn 是否会取代线性时间复杂度使最终时间复杂度 O(nlogn)

最佳答案

是的,对于大 n,log(n) > 1,所以 O(nlog(n)) 是 O(n) 的超集

关于algorithm - O(nlogn) + O(n) 的时间复杂度是否只是 O(nlogn)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52304886/

相关文章:

java - 3D 体素角度平面

algorithm - 冒泡排序算法分析

c++ - 使用 kruskal 算法创建更糟糕的情况

在数组中查找三个数字的算法,使得 a< b < c 和 v[a]<v[c]<v[b]

javascript - 难以简化条件

algorithm - 如何使用Redis检查人员的可用性

python - 对 Python 函数的最佳/最差情况时间的答案感到困惑

java - 为什么这个检查二叉树平衡的函数的时间复杂度是 O(n log n)?

regex - 正则表达式中的反向引用如何要求回溯?

algorithm - 是否存在不是平衡二叉搜索树的平衡二叉树?时间复杂度是多少?