这个函数的复杂度是多少
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)。
我有一个函数,它对 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)。