第二课10.12


前言

这堂课主要学习了算法设计中重要的递归的概念,使用环境和应用实例。


一、递归算法是什么?

递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。递归算法就是将原问题不断分解为规模缩小的子问题,然后递归调用方法来表示问题的解。
在这里插入图片描述

二、什么问题可以用到递归来解决

在这里插入图片描述

常常用到递归算法的三种情况

在这里插入图片描述
一一问题定义即为递归定义
阶乘
斐波纳契数列
杨辉三角的取值

在这里插入图片描述

一一部分数据结构也是用递归来定义的

在这里插入图片描述
一一问题应用递归算法来解决
hanoi塔问题

三、递归模型

一般由递归出口和递归体两部分组成,前者确定递归到何时为止,后者确定递归的方式。

会有量级的差别
在这里插入图片描述

递归算法的设计步骤

  1. 对原问题f(s)进行分析,假设出合理的较小问题f(s’)。
  2. 假设f(s’)是可解的,并在此基础上确定f(s)的解,即给出f(s)与f(s’)之间的关系。
  3. 确定一个特定情况(如f(1)或f(0))的解,作为递归出口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值