算法分析-渐进分析


几种基本渐进符号的解释

要注意的一点是,算法分析中的数量级\(n\)是不小于零的整数,即可取0,1,2 ……

\(O\) 上界情况

对于执行次数函数\(f(n)\),存在常量\(n_0,c\),有任意\(n > n_0\) 使得\(0 \leq f(n) \leq cg(n)\),则称\(f(n)\)\(O(g(n))\)中。

同时由图像可以看出\(O(g(n))\)可以看作是满足上述条件的所有函数的集合

\(\Omega\) 下界情况

对于执行次数函数\(f(n)\),存在常量\(n_0,c\),有任意\(n > n_0\) 使得\(0 \leq cg(n) \leq f(n)\),则称\(f(n)\)\(\Omega(g(n))\)中。

同样,\(\Omega(g(n))\)表示的是满足上述条件的所有函数的集合。

\(\Theta\) 平均情况

对于执行次数函数\(f(n)\),存在常量\(n_0,c_1,c_2\),有任意\(n\geq n_0\)使得\(0\leq c_1g(n) \leq f(n)\leq c_2g(n)\),则称\(f(n)\)\(\Theta(g(n))\).

\(\Theta(g(n))\)也可以看作是上述所有函数的集合,其中的集合中每个成员\(f(n)\in \Theta(g(n))\)渐进非负

练习解析

假设f(n)与g(n)都是渐进非负函数,使用定义证明\(max(f(n)+g(n))=\Theta(f(n)+g(n))\)

根据平均情况的定义:要证明的存在\(c_1,c_2,n0使得任意n\geq n_0有\)

\[0\leq c_1(f(n)+g(n))\leq max(f(n)+g(n))\leq c_2(f(n)+g(n)) \]

可以看出当\(c_1=1/2,c_2=1,n_0\in N\)时上式均成立,证毕。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM