大 O 问题:如果指数最大的变量的系数为负怎么办?
Big O Problem: What if the variable with the largest exponent has negative coefficient?
这里是 an example from Wikipedia:
令 f(x) = 6x^4 - 2x^3 + 5,则 f(x) 是 x^4 的“大 O”。
然后我交换 x^3 和 x^4 之间的系数。现在 f(x) = -2x^4 + 6x^3 + 5。f(x) 仍然是 x^4 的“大 O”吗?我假设不会,因为随着 x 变大,f(x) 将花费更少的时间。我的问题是:
上述等式的大 O 复杂度是多少?目前,我忽略了 -2x^4,这使得 f(x) 是 x^3 的“大 O”,但我不确定。
表达式 -2x^4 + 6x^3 + 5
仍然是 O(x^4)
,因为前导常量不是 big-O 表达式的一部分。根据经验,应该清楚的是,随着 x
变得任意大,x^3
项基本上将变得无关紧要。 x^4
项是否变成非常大的正数或负数与 运行 时间无关。
Big-O和相关的渐近类通常是根据函数的绝对值来定义的,所以无论是渐近递增还是渐近递减都无所谓。
所以它仍然是 Theta(x^4)
,这也意味着 O(x^4)
。
在时间复杂度分析的上下文中,这并不是真正相关的,因为你不能让 program/algorithm 占用负时间,所以你询问的函数不能是描述执行时间的函数program/algorithm.
这里是 an example from Wikipedia: 令 f(x) = 6x^4 - 2x^3 + 5,则 f(x) 是 x^4 的“大 O”。
然后我交换 x^3 和 x^4 之间的系数。现在 f(x) = -2x^4 + 6x^3 + 5。f(x) 仍然是 x^4 的“大 O”吗?我假设不会,因为随着 x 变大,f(x) 将花费更少的时间。我的问题是:
上述等式的大 O 复杂度是多少?目前,我忽略了 -2x^4,这使得 f(x) 是 x^3 的“大 O”,但我不确定。
表达式 -2x^4 + 6x^3 + 5
仍然是 O(x^4)
,因为前导常量不是 big-O 表达式的一部分。根据经验,应该清楚的是,随着 x
变得任意大,x^3
项基本上将变得无关紧要。 x^4
项是否变成非常大的正数或负数与 运行 时间无关。
Big-O和相关的渐近类通常是根据函数的绝对值来定义的,所以无论是渐近递增还是渐近递减都无所谓。
所以它仍然是 Theta(x^4)
,这也意味着 O(x^4)
。
在时间复杂度分析的上下文中,这并不是真正相关的,因为你不能让 program/algorithm 占用负时间,所以你询问的函数不能是描述执行时间的函数program/algorithm.