渐进分析(Ο,Ω,Θ)

文章探讨了渐进分析的概念,如O(n),Ω(n)和Θ(n)的定义及证明方法,并举例说明。提到了多项式时间和指数复杂度在算法分析中的意义,以及如何通过递归树、迭代和主项法解决递归问题。文章还讨论了归并排序的时间复杂度,展示其优于插入排序的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

渐进分析(Ο,Ω,Θ):
f(n)=O(g(n)) iff存在常数c和n0,使得对所有n>n0,有
f(n)<cg(n)成立
lim^n->∞^|f(n)/g(n)|=c,0<=c<∞,则f(n)=O(g(n))
f(n)=Ω(g(n)) iff存在常数c和n0,使得对所有n>n0,有
f(n)>cg(n)成立
lim^n->∞^|f(n)/g(n)|=c,0<c<=∞,则f(n)=Ω(g(n))

例:f(n)=0.001n2-10n-1000=Ω(n2)
因为limn->∞f(n)/n2=0.001>0

f(n)=O(g(n))且f(n)=Ω(g(n)) =>f(n)=Θ(g(n))
证明法一:lim^n->∞^|f(n)/g(n)|=c,0<c<∞
证明法二:找到常数c0和n0使得其满足渐进上界定义
找到常数c1和n1使得其满足渐进下界定义
例:试证10n^2+3n+100=Θ(n^2)
证明:c0=11,10n^2+3n+100<11n^2即n^2-3n-100>0,可求得n0值,从而存在c0和n0使得n^2是10n^2+3n+100的渐进上界;
同理,c1=9,10n^2+3n+100>9n^2即n^2+3n+100>0,可求得n1值,
从而存在c1和n1使得n^2是10n^2+3n+100的渐进下界;

渐进分析的常用等式:
在这里插入图片描述在这里插入图片描述
推导规则:
在这里插入图片描述
在这里插入图片描述
渐进分析例题:
在这里插入图片描述
在这里插入图片描述
Sum(a,n)共有2n+3步,b[j]=Sum(a,j+1)有2(j+1)+3+1=2j+6步,∑(j=0,n-1)2j+6=n2+5n=Θ(n2)
顺序查找:
在这里插入图片描述
插入排序、选择排序和rank排序最坏情形时间复杂度是O(n^2),准确来说是Θ(n ^2),平均情形时间复杂度是Θ(n ^2)
多项式时间算法:
如果一算法的最坏情形时间复杂度t(n)=O(nk),则称该算法为多项式时间复杂度的算法或有多项式界的算法;
如果一算法的最坏情形时间复杂度t(n)不能用多项式限界,则称该算法为指数复杂度的算法,认为是不可行的算法,这类问题称为NP-难度问题。

**解递归的三种方法:**

(1)递归树 (2)迭代 (3)主项法
归并排序:
归并已排好序的数组(MERGE):
在这里插入图片描述
伪代码:

MERGE-SORT A[1,……,n]                     T(n)
1.if n=1 done.                             Θ(1)
2.Recursively sort A[1,……,[n/2]]         2T(n/2)
 and A[ [n/2]+1,……,n]
3.Merge the two sorted lists               Θ(n)

递归方程:

T(n)
     =Θ(1)  if  n=1
     =T(n/2)+Θ(n) if n>1

隐含假设n=2h
用cn代替Θ(n),不影响渐进分析的结果
递归树:
在这里插入图片描述
复杂度:cnlgn+Θ(n)=>Θ(nlgn)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

迭代展开:
在这里插入图片描述
归并排序渐进优于插入排序。
递归树等价于迭代展开
很多递归式用递归树解不出来,但递归树能提供直觉,帮助我们用归纳法求解
主项法:
T(n)=aT(n/b)+f(n)
声明:logb,a表示以b为底a的对数
情形一:
f(n)=O(nlogb,a-ε),ε>0为某一常数
则T(n)=Θ(nlogb,a)
情形二:
f(n)=Θ(nlogb,algkn), k>=0为某一常数
则T(n)=Θ(nlogb,algk+1n)
情形三:
f(n)=Ω(nlogb,a+ε),ε>0为某一常数
则T(n)=Θ(f(n))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值