递归的基本模型

To Iterate is Human, to Recurse, Divine.
人理解迭代,神理解递归。

写递归函数要考虑的问题:
1.什么时候结束递归,就是你必须要明确递归终止条件,其实就是一个if()判断语句,满足了这个条件就结束递归。然后在花括号{}中给出递归终止时的处理办法。
2.采用【分而治之】的思想,把大问题分解为容易解决的小问题,就是写一个通用的函数,能解决大问题下分解的小问题,小问题下分解的更小的问题。

递归的编程模型

模型一: 在递去的过程中解决问题

function recursion(大问题){
    if (end_condition){   // 明确的递归终止条件
        end;   // 简单情景,给出递归终止时的处理办法。
    }else{    // 再将问题转换为子问题的每一步,解决该步中剩余部分的问题
        solve;  // 递去,在递去的过程中解决问题 
        recursion(小问题);   // 递到最深处后,不断地归来
    }
}

模型一: 在归来的过程中解决问题

function recursion(大问题){
    if (end_condition){   // 明确的递归终止条件
        end;   // 简单情景
    }else{     // 先将问题全部描述展开,再由尽头“返回”依次解决每步中剩余部分的问题
        recursion(小问题);   // 递去
        solve;   // 归来,在归来的过程中解决问题
    }
}

参考文章地址:
https://blog.csdn.net/weixin_43025071/article/details/89149695

https://blog.csdn.net/weixin_43405546/article/details/83045725?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-11.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-11.no_search_link

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值