O(nlogn)+ O(n)的时间复杂度是O(nlogn)吗?

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

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

algorithm time-complexity big-o
2个回答
3
投票

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


3
投票

O(nlogn)+ O(n)而不是O(nlogn + n)

哪有这回事; O(n log n)+ O(n)和O(n log n + n)相等,并且都等于O(n log n)。因此,一个函数不可能在一个而不是另一个函数中。

© www.soinside.com 2019 - 2024. All rights reserved.