递归基本上是后面的所有的内容的基础,只能学会了递归,我们才能理解,后面的内容

  • 搜索
  • 暴力枚举
  • 动态规划

在本章,你需要学会

  • 递归的一般写法(模板)

    void dfs(int n) {
        if( n 到达边界)
        {
           操作
           return;
        }
        for(int i=1;i<=x;i++)//分步任务
          dfs(n+1);
    }
    
  • 最简单的树的概念

  • 每个递归都可以表示成一棵树

  • 递归就是在树上的行走

  • 分解子问题

  • 递归的前进与回溯

  • 恢复现场

  • 用数学语言来描述递归(高中数学函数)

那些例子

  • 著名的上帝的指纹

和后面dp连接起来

基本概念

  • 前进:
  • 回溯
  • 状态
  • 恢复现场

集合的思想来思考题目

如何做 对集合进行分类

下载集合课件 ,题目,数学书电子版

画图 得到树

主要思考方法

从底向上

小朋友任务思考法(回溯法)

可以告诉左右小朋友如何做

从顶向下

集合分类,分解子问题,函数表示,大佬小朋友法

总结 :

我们在现实中发现 任何事物 它的整体 与局部是相似的

你可以举出很多的例子

宇宙与原子

组织形式

甚至人自己本身

这个在数学上有很多叫法

分形

简单分成这几类问题

  • 计数
  • 最值
  • 存在性

如何发现与描述(使用符号)这种局部与整体关系,贯穿我们整个学习的过程

经典题目 :

  • 入门
    • 递归计算1到n的和
    • 递归加回溯输出1到n,再输出n到1
    • Fibonacci 数列
    • Tower of Hanoi
  • 简单的排列与组合
    • 排列型
    • 组合型
    • 指数型
  • 复杂的一些问题
    • 数的分解