我在研究“大哦”、“大欧米茄”和“大θ”的增长顺序由于我不能键入这些小符号,我将用如下方式表示它们:
订单=大哦
欧米茄=大欧米茄
θ=大θ
例如,我会说n=order(n^2),这意味着函数n的顺序是n^2(n的增长速度最多为n^2)。
好吧,在很大程度上我明白这些:
n = ORDER(n^2) //n grows at most as fast as n^2
n^2 = OMEGA(n) //n^2 grows atleast as fast as n
8n^2 + 1000 = THETA(n^2) //same order of growth
好吧,下面是一个让我困惑的例子:
n(n+1)对n^2是什么
我知道n(n+1)=n^2+n;我认为它的增长顺序与n^2相同;因此我认为
n(n+1)=θ(n^2)
但我的问题是,是否也应该说:
n(n+1)=顺序(n^2)
请帮忙,这让我很困惑。谢谢。
谢谢你们!!
为了确保我理解正确,这些都是真的吗:
n^2+n=顺序(2000n^2)
n^2+n=θ(2000n^2)
n^2+n=欧米茄(2000n^2)
2000N^2=顺序(N^2+N)
2000n^2=θ(n^2+n)
2000N^2=欧米茄(N^2+N)
所以如果f=THETA(g),那么f=ORDER(g)和f=OMEGA(g)也是真的。
最佳答案
Moron is correct,这是最简单的思考方法。
但要理解它,返回f(n)=O(g(n))的定义:存在一个正m和0,这样,对于所有的n=,f(n)=mg(n)。
假设m=2。你能找到一个数值n0吗?对于所有的n>n0,n^2+n<=M(n^2)?
(用笔和纸绘制两个函数,以了解它们之间的关系如何发展。)
关于algorithm - 算法分析-增长阶数问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2986074/