解递归式的方法总结、最大子数组问题(股票买卖)

本文探讨了如何解决递归式,包括代入法、递归树法和主方法,并通过最大子数组问题阐述了递归在算法中的应用,强调了分治策略在解决此类问题中的有效性。

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

写在前面:递归是我最头痛的…我最喜欢的老师跟我讲,递归是种玄学。懂的人特别懂,不懂的人怎么都不懂。仿佛你的爱情哈哈哈哈。但我很懂爱情喔。此文参考《算法导论》。

求解递归式

递归式与分治算法密切相关。使用递归式可以很自然地刻画分治算法的运行时间。

求解递归式时间复杂度的方法:

① 代入法

我们猜测一个界,然后用数学归纳法证明这个界是正确的。(渐进界)

  • 先对一个小值假设,然后推测更大的值正确性。
  • 数学归纳法。猜测

② 递归树法

将递归式转换为一棵树,其节点表示不同层次的递归调用产生的代价。然后采用边界和技术来求解递归式。

举个栗子:

T(n)=3T( └ n/4 ┘ )+Θ(n2)T(n)=3T(~└~ n/4 ~┘~)+Θ(n^2)T(n)=3T(  n/4  )+Θ(n2)

  • 抛去上下界函数影响
  • 把Θ(nnn2)用cn2cn^2cn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值