这个函数的复杂度是多少

What is the complexity of this function

我有一个函数,它对 n 个浮点数的列表执行合并排序,然后找到并 return 一个最大元素。

我知道 Mergesort 的复杂度是 O(n*log(n)),我知道 max(list) 的复杂度是 O(n)。因此,考虑到这一点,我同时拥有 O(n*log(n))O(n)。据我所知,大 O 表示法采用增长最快的多项式并忽略常量。由于在这种情况下,n 是低阶项,这是否意味着此函数具有复杂性 O(n*log(n))?还是这条规则只适用于多项式?

Big O notation describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

所以是的,如果你有一个多项式,只有最大的东西才重要,常数和因子并不重要。例如,复杂度为 4n² + 999n + 5 的函数的复杂度为 O(n²)。

在你的情况下,是的,这意味着它只是 O(n log n)。