目录介绍
- 01.什么是递归
- 02.递归三个条件
- 03.斐波那契数列
- 04.找指定目录下所有文件
- 05.求1+2+…+N和
- 06.求100的阶乘
- 07.有序数组合并
- 08.求一个数乘方
- 09.背包问题
- 10.选择一支队伍
- 11.汉诺塔问题
- 12.二分法查找
- 13.警惕重复计算
- 14.开源项目推荐
01.什么是递归
- 递归:在一个方法内部对自身进行调用。利用递归可以用简单的程序来解决一些复杂的问题。比如:裴波那契数列的计算、汉诺塔、快排等问题。
- 递归结构包括两个部分:
- 1、定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。
- 2、递归体。解答:什么时候需要调用自身方法。
02.递归三个条件
- 递归需要满足的三个条件。刚刚这个例子是非常典型的递归,那究竟什么样的问题可以用递归来解决呢?我总结了三个条件,只要同时满足以下三个条件,就可以用递归来解决。
- 1.一个问题的解可以分解为几个子问题的解
- 何为子问题&#x