主要思想渐近分析是衡量算法的效率,这些算法不依赖于机器特定常量,主要是因为这种分析不需要进行算法和通过程序进行的时间来实现算法。我们已经讨论过三个主要的渐近符号。以下2个渐近符号用于表示算法的时间复杂性。
这是一个渐进的符号
Big-ο被用作算法努力的增长的紧密上限(这种努力由函数f(n)),即使是写的,它也可以是松散的上限。“Little-o”(ο())表示法用于描述不能紧张的上限。
定义 :设f(n)和g(n)是将正整数映射到正真数的函数。我们说f(n)是ο(g(n))(或f(n)εο(g(n)))如果是任何真的常数c > 0,存在一个整数常数n0≥1,使0≤f(n) < c*g(n)。
因此,小o()的意思是宽松的上限f (n)。Little o是对最大增长顺序的粗略估计,而Big-Ο可能是实际增长的顺序。
在数学关系中,
f(n)= o(g(n))意味着
f(n)/g(n) = 0
n→∞
例子:
7n + 8∈o(n2) ?
为了使其是真的,对于任何C,我们必须能够找到一个n0
f(n)
如果c = 100,我们检验这个不等式是否正确。如果c = 1/100,我们就得用
再多一点想象力,我们就能找到n0。(尝试n0 = 1000。)从
这些例子,看来猜想是正确的。
然后检查限制,
LIM F(n)/ g(n)= lim(7n + 8)/(n2) = lim 7/2n = 0 (l 'hospital)
n→∞n→∞n→∞
因此7n + 8∈o(n)2)
小Ω渐近表示法
定义 :设f(n)和g(n)是将正整数映射到正真数的函数。我们说,F(n)是ω(g(n))(或f(n)≠ω(g(n)))如果任何真实常数c> 0,则存在整数常数n0≥1,使得f(n)>每种整数N≥N0的C * g(n)≥0。
f(n)具有比g(n)更高的生长速率,所以大ω(ω)和小ω(ω)之间的主要区别在于它们的定义。在大omega f(n)=ω的情况下(g(n)),绑定为0 <= CG(n)<= f(n),但是在小omega的情况下,对于0 <= C * g(n)
大ω (Ω)和小ω (ω)之间的关系与大ω (-Ο)和小o之间的关系类似,除了我们现在看的是下界。小欧米加(ω)是生长顺序的粗略估计,而大欧米加(Ω)可能代表精确的生长顺序。我们用ω符号来表示一个非渐近紧的下界。
并且,F(n)∈Ω(g(n))如果只有g(n)∈ο(f(n))。
在数学关系中,
如果f(n)∈ω(g(n))
Lim f(n)/g(n) =∞
n→∞
例子:
证明4N + 6∈Ω(1);
运行时间可以用下面的极限公式来证明。
如果f(n)/g(n) =∞,则函数f(n)是ω(g(n))
n→∞
在这里,我们具有f(n)= 4n + 6和g(n)= 1的函数
Lim (4n+6)/(1) =∞
n→∞
对于任意c,我们可以得到n0对于这个不等式0 <= c*g(n) < f(n) 0 <= c*1 < 4n+6
因此证明。
本文是贡献的卡达姆帕特尔。如果您喜欢Geeksfo188金宝搏滚球投注rgeeks并想贡献,您也可以使用一篇文章使用contribute.188金宝搏滚球投注geeksforgeeks.org.或者把你的文章寄到contribute@geeksforgeeks.金188金宝搏滚球投注宝搏比分org。看到你的文章出现在GeeksforGeeks主页上,并帮助其他极客。188金宝搏滚球投注
如果你发现任何不正确的地方,或者你想分享关于上面讨论的话题的更多信息,请写评论。
注意读者!现在不要停止学习。掌握所有重要的DSA概念DSA自定进度课程以学生友好188bet2021欧洲杯的价格,成为行业准备。