数据结构笔记6-递归与迭代

递归与非递归相比有哪些主要的优点和缺点?
        递归程序的优点是程序结构简单、清晰,程序易读,易证明其正确性。
        缺点是执行中占内存空间较多,执行效率低,算法不容易优化。

递归的关键点
        递归算法的设计实际上就是对问题进行抽象的过程,如果抽象到每个小问题都有想用特征,就形成了递归。
        递归定义由基本项和归纳项两部分组成。基本项描述了递归过程的一个或几个终结状态,即不需要继续递归就可求值的状态。归纳项描述了从当前状态向终结状态的转换。即将复杂问题化为较简单的问题,而简单问题与复杂问题的形式是一样。每递归一次都要向终止条件靠近一步,最终达到终止条件。
        递归是程序设计中的重要技术。当问题的定义是递归、数据结构是递归的和问题的解法是递归的时,最好利用递归。求解递归问题时,要先出问题求解的递归定义。递归定义由基本项和归纳项组成。递归过程的实质是将复杂问题分解成若干子问题,子问题与原问题具有相同特征,但是简单了。子问题解决了,原问题就会迎刃而解。

递归和迭代的区别

        迭代使用循环结构,不需要反复调用函数和占用额外的内存。

        递归使用选择结构,可以使程序的结构更清晰、更简洁、更易理解,但大量递归调用会建立函数的副本,会耗费大量的时间和内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值