当我们为 50n logn 计算 Big-Oh 时,它是 O(n log n)?我们可以把 O(n^5) 当作 Big-Oh 吗?
When we compute Big-Oh for 50n logn it is O(n log n)? Can we take O(n^5) as Big-Oh?
我最近遇到了一些渐近符号,当这个问题出现时,它是 50 n logn 并且根据流行的规则获得 Big-OH 符号是简单地删除常量和低阶 terms.But 50n logn 也是 n^5 的 BIG-OH。
那么为什么 Big-oh 表示法更适合考虑 O(nlogn) 而不是 O(n^5)。
.
当在 wolfram 中将输入大小更改为 0 到 50 时,结果图在这里
你说的完全正确 50.n.log(n) = O(n^5)
。这在数学上没有问题。我们可以找到一个常数 C = 1
使得对于所有高于某个值 10
的 n
我们有
|50.n.log(n)| < C.|n^5|
请参阅维基百科了解 formal definition
这是毫无疑问的。
如果我们更愿意说50.n.log(n) = O(n.log(n))
是因为我们经常想知道什么是增长最慢的函数,它支配着算法的复杂度。这通常用于比较算法复杂度。
50n log n
不是字面上的 O(n log n)
,也不是 O(n^5)
.
50n log n
是一个函数。
O(n log n)
和O(n log n)
都是类函数,所以50n log n
也不能"be"。
然而,50n log n
是 类 的成员。根据定义,O(g(n))
包含所有函数 f(n)
,因此 ∀n > N: f(n) < Mg(n)
对于某些常量 M
和 N
。这(令人困惑地)写为 f(n) = O(g(n))
。 Big O 表示法描述了函数增长的上限。
Big-O 符号家族中两个相似的 类 函数是 Θ(n log n)
和 Θ(n^5)
(大写希腊字母 Theta)。这些 类 小于相应的 O
类。 50n log n
属于第一个不属于第二个。 Big Theta 表示法描述了 紧双边边界 :f(n) = Θ(g(n))
表示 f(n)
增长不比 g(n)
快也不慢(取决于某个常数因子).
我最近遇到了一些渐近符号,当这个问题出现时,它是 50 n logn 并且根据流行的规则获得 Big-OH 符号是简单地删除常量和低阶 terms.But 50n logn 也是 n^5 的 BIG-OH。
那么为什么 Big-oh 表示法更适合考虑 O(nlogn) 而不是 O(n^5)。
当在 wolfram 中将输入大小更改为 0 到 50 时,结果图在这里
你说的完全正确 50.n.log(n) = O(n^5)
。这在数学上没有问题。我们可以找到一个常数 C = 1
使得对于所有高于某个值 10
的 n
我们有
|50.n.log(n)| < C.|n^5|
请参阅维基百科了解 formal definition
这是毫无疑问的。
如果我们更愿意说50.n.log(n) = O(n.log(n))
是因为我们经常想知道什么是增长最慢的函数,它支配着算法的复杂度。这通常用于比较算法复杂度。
50n log n
不是字面上的 O(n log n)
,也不是 O(n^5)
.
50n log n
是一个函数。
O(n log n)
和O(n log n)
都是类函数,所以50n log n
也不能"be"。
50n log n
是 类 的成员。根据定义,O(g(n))
包含所有函数 f(n)
,因此 ∀n > N: f(n) < Mg(n)
对于某些常量 M
和 N
。这(令人困惑地)写为 f(n) = O(g(n))
。 Big O 表示法描述了函数增长的上限。
Big-O 符号家族中两个相似的 类 函数是 Θ(n log n)
和 Θ(n^5)
(大写希腊字母 Theta)。这些 类 小于相应的 O
类。 50n log n
属于第一个不属于第二个。 Big Theta 表示法描述了 紧双边边界 :f(n) = Θ(g(n))
表示 f(n)
增长不比 g(n)
快也不慢(取决于某个常数因子).