我可以找到big-O和big-Omega的函数,但我很难检查某个函数是否是另一个函数的大O或大Omega。例如:
n^(1/2)
是n^(2/3)
的大O还是大Ω?
log(5n)
是10log(n)
的大O还是大欧米茄?
我不确定除了使用图形计算器之外如何比较它们。有人可以指导我提供一种资源,提供比较功能增长的技术吗?
答案 0 :(得分:0)
第一个是微不足道的,你只是比较权力,所以a = n^(1/2)
< = b = n^(2/3)
。因此,a
位于O(n^(2/3))
,模拟b
位于Omega(n^(1/2))
。
对于第二个,您需要对数规则,它们为您提供
log(5n) = log(5) + log(n)
//Since log(5) is constant
log(n) < 10log(n) //wait, 10 also
==> asymptotic equally growing, both in Theta
作为一项检查工具,您可以查看Wolfram|Alpha。
当函数更复杂时,您还可以将n
的商的极限用于无穷大。例如,查看n!
和n^n
。
对于大多数常见功能,快速reference。
希望它有所帮助!