递归和分治的概念性的理解

递归的概念表述: 直接或间接调用自身的算法称为递归算法。

理解:递归算法的可以理解为多个算法的嵌套调用,只是调用算法是同一个,同时需要一个工作栈来作为各层次的数据存储区,包括所有实参指针,局部变量,返回的地址。递归算法效率低,更多的用在设计算法,调试程序,可读性强。递归算法到非递归算法大部分实现的方法都是模拟实现系统的工作栈,但是更有效的是根据实际情况对栈简化,减少操作,压缩栈存储空间。

  

分治思想:将一个规模为n的问题分解为n个规模较小的问题,子问题互相独立且与原问题相同。递归解决子问题,最后将子问题的解合并得到原问题的解。

充分必要条件:

1.问题可以进行划分为可解决的子问题;

2.具有最优子结构,即分解为若干个相同规模的问题;

3.若干个子问题的解可以合并成该问题的解;

 

结尾:这次我只会给出相关的概念,后序会陆续推出,与此相关的算法表述,当然还有更多的是代码啦!!!

转载于:https://www.cnblogs.com/jackn-crazy/p/7513421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值