可以说,我有一个例程,它扫描3个项目的整个列表,并根据大小进行排序,然后b搜索该列表的n次。扫描时间为O(n)次,我将其称为O(n log(n)),n次bsearch为O(n log(n))。如果我们将所有3个加在一起,这是否仅是3个最坏的情况-n log(n)值,或者语义是否允许增加时间?
可以肯定的是,现在我输入的答案是n log(n),但是现在我也可以确认输入了它:)
对于Big-O来说,这的确是最差的。
原因是您的函数的时间复杂度为
(n) => 3n + nlogn + nlogn
这是
(n) => 3n + 2nlogn
此函数在 上方 受3nlogn限制,因此在O(n log n)中。
您可以选择任何常数。我刚巧选择3,因为它是一个很好的渐近上限。