算法导论-第4章

本文介绍了递归式的概念及其三种求解方法:代换法、递归树方法和主方法。详细阐述了每种方法的应用场景及操作步骤,并对主方法背后的主定理进行了概述。

    这一章,就一个主题,什么是递归式?如何求解递归式?

递归式,就是一个函数,自己调用自己,但是有一个最基本的情况,这种情况下,它就会自动返回跳出递归。

用什么方法?

3种方法:

1.代换法

2.递归树方法

3.主方法

关于代换法:

    一个字,猜,也就是你会蒙?

怎么蒙?

    需要你的经验。

也就是说,有经验的人,一看就知道多少,然后,用归纳法证明,新手,不推荐。

关于递归树:

   最笨的办法,就是你把那个递归式,一项一项展开,可能吗?对,这里的展开就是画这棵树,使他不能有递归表达式,然后把整个图中的代价加起来就是答案

怎么使用?

你画图算,然后,你用代换法,说是你猜出来的,然后证明,求解。

关于主方法:

    针对形如T(n) = aT(n/b) + f(n)的递归式:

T(n) = aT(n/b) + f(n)描述了将规模为n的问题划分为a个子问题的算法的运行时间,每个子问题的规模为n/b。

主方法依赖于主定理:

zhudingli 图片可以不清晰,可以看书。

主定理的三种情况,经过分析,可以发现都是把f(n)与1 比较。一句话,谁大就是谁。

第一种情况是1 更大,第二种情况是1 与f(n)相等,第三种情况是f(n)更大。

但是,这三种情况并未完全覆盖所有可能的f(n):

第一种情况是f(n)多项式的小于1 ,而第三种情况是f(n)多项式的大于1 ,即两者相差的是2 。如果两者相差的不是2 ,则无法用主定理来确定界。

比如算法导论P44最下面的3 就不能用主定理来判断。

至于主定理的证明,这个真不关你任何事情,因为估计你也不会看那些东西,所以我们就不用去花实时间看了。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值