时间复杂度

数据结构(一)

一.时间复杂度四个定义
1.T(N)<=cf(N),则记为T(N) = O(N)
2.T(N)>=cg(N),则记为T(N) = Ω(N)
3.T(N) = Θ(h(N)),当且仅当T(N) = O(h(N)),且T(N) = Ω(N) (此时最好情况和最坏情况相同,曲线重合)
4.如果T(N) = O(p(N)) , 且T(N) ≠ Θ(p(N)),此时记为 T(N) = o(p(N)).

二.运算法则
1.相加时取复杂度中较大的一个,相乘时为复杂度的乘积。
2.k次多项式满足Θ(h(N^k))
3.log^k(N)增长非常缓慢,可记为O(N)
4.出现极限的情况可适当使用洛必达法则,比值为0,c(常数),∞对应着Θ,o。

三.分析问题
在分析问题时,一般采用最坏情况考虑,平均情况多数时候接近于最坏情况。

四.复杂度计算常用方法
1.for循环,for内部语句乘以迭代次数。
2.多重for循环出现,累乘即可。
3.顺序语句中,取复杂度最大的一个为时间复杂度。
4if,else时,判断+其中复杂度大的一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值