简单递归算法求时间复杂度

对于考研,不管是408抑或是自命题,有关于求时间复杂度的题目是一定要掌握的;408如果正常出题在这个地方一个选择题是非常有可能的,另外算法大题也非常有可能让分析时间空间复杂度,此时如果你用的递归类解决问题,掌握如何求递归类算法时间复杂度也是非常有必要。当然按照09年到24年来看,仅出过一次递归算法求时间复杂度的题,但不可避免接下来再出此类题型,甚至在数据结构非算法大题中也有可能出现。

本文以两道例题简单介绍一下公式法求解,其他方法后续更新~~希望能帮助到读者

例1,求归并排序算法时间复杂度,函数代码如下图981a82cec9d440d59905915972fba216.png

step1~求该算法的递归方程

问题规模还是n,其中mergesort(i,m)问题规模变成n/2,同理mergesort(m +1,j)问题规模变成n/2,合并操作merge 始终为n,故递归方程可表示为

 

a9a46b493c224585a9c32c431167145e.png

step2.运用公式法对递归方程进行求解时间复杂度

34b10e787d4a427a913968e7d54f0487.png

643ea4fac8f24219953bf4ab5acfddcb.png 

 

例2~一道408真题

8629010c364644a4831ffd02ab266bba.png

 

 step1.求递归方程

step2.公式法求时间复杂度

25016f29e08a42bdbdae0a5cf96c60d7.png

 

1b6ee8eac3b2471b843b811781983694.png
 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值