1.1复杂度度量

1.1复杂度度量

1.渐进复杂度

1.大 O O O记号-渐进上界

当n足够大之后

若存在正常数c和函数f(n),使得对任意任意 n >> 2(远远大于2),都有

T(n)<=c*f(n);

则可以认为n在足够大之后,f(n)给出了T(n)增长速度的一个渐进上界。此时,记之为T(n)=O(f(n))

由这一定义,可以导出大 O O O记号的一下性质:

  1. 对于任意常数c>0 ,有O(f(n))=O(c*F(n))
  2. 对于任意常数a>b>0, 有O( n a n^a na+ n b n^b nb)=O( n a n^a na)

实例,起泡排序的复杂度分析

bubbleSort(起泡排序),T(n)=O(2 ( n − 1 ) 2 (n-1)^2 (n1)2)=O(2 n 2 n^2 n2-4n+2)=O(2 n 2 n^2 n2)=O( n 2 n^2 n2)

2.大 Ω \Omega Ω记号-渐进下界

若存在正常数c和函数g(n),使得对任意任意 n >> 2(远远大于2),都有

T(n)>=c*g(n);

就可以认为,在n足够大之后,g(n)给出了T(n) 的一个渐进下界。此时,我们将其记为

T(n)= Ω \Omega Ω(g(n));

3.大 θ \theta θ记号-对算法复杂度的准确估计

若存在正常数c1<c2和函数h(n),使得对任意任意 n >> 2(远远大于2),都有

c1*h(n)<=T(n)<=c2*h(n)

就可以认为,在n足够大之后,h(n)给出了T(n) 的一个确界。此时,我们将其记为

T(n)= θ \theta θ(h(n));

2.时间复杂度

一般使用渐进复杂度度量

3.空间复杂度

一般使用渐进复杂度度量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值