【发布时间】:2016-04-14 11:06:28
【问题描述】:
我最近遇到了一些渐近符号,当这个问题出现时,即 50 n logn 并且根据流行的规则来获得 Big-OH 符号是简单地删除常数和低阶项。但 50n logn 也是n^5 的 BIG-OH。 那么为什么 Big-oh 符号最好考虑 O(nlogn) 而不是 O(n^5)。 .
【问题讨论】:
-
为什么说“50n logn 也是 n^5 的 BIG-OH”? FWIW,log(n^5) = 5*log(n),所以 O(log(n^5)) = O(log(n))。
-
尝试在例如 wolframalpha 中输入
50n log n, n^5, from 0 to 50,您会看到对于较大的n,多项式n^5 相对于n log n 变得非常大 -
O()表示上限,Theta()表示更准确的范围。 -
50n logn is also BIG-OH of n^5请扩展您的意思。如果可以,那么这个问题的框架很糟糕,如果你不能,那你就错了。 -
因为当你抱怨你的工资有多低时,你更愿意说“我连饭都吃不饱”而不是“我连一辆法拉利都买不起”跨度>
标签: c algorithm data-structures big-o