leetcode刷题之递归算法简要概述

递归的三大步骤

1.明确函数要做什么,也就是定义递归的功能。
2.明确递归的结束(退出递归)的条件。
3.找到函数的等价关系式,要不断缩小参数的范围

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

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

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

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


关键在于,理解透“递”和“归”的过程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值