递归介绍
来源:互联网 发布:ichart.js下载 编辑:程序博客网 时间:2024/06/09 21:57
递归函数:调用自身的函数。在函数体内部直接或间接地调用自身。
递归函数的理解:
1.递归其实就是把问题传递下去,直到找到某个确切的结果后,再一步一步回归初始问题本身的过程。
2.举例:我想知道张三的身高,张三没直接告诉我他多高,直说比张四高1cm;我只好去问张四,张四说比张五高1cm;张五比张六高1cm;我一直问下去,张七,张八,张九,终于知道了张十是170cm。这个过程就是把问题传递下去的过程!并找到了一个结果,张十是170cm。
3.那么我最初的问题,是想知道张三身高,需要再把问题回归,张十。。。到张三。
递归机制:
1.调用自身,相同的处理逻辑。
但是起点或者状态不同。问的都是年龄(逻辑),问的是不同的人(起点、状态不同)。
2.独立机制。函数之间需要独立,不能嵌套,导致不能到达出口。就像我问张三年龄,张三说比张四大一岁,张四不能说比张三小一岁,这样就会陷入死循环,不能到达出口。
虽然递归函数执行的代码一样。
3.需要一个出口。
递归优缺点:
1.简化程序设计,提高易读性。
2.递归增加了系统开销。时间上,执行调用与返回的额外工作要占用CPU时间。空间上,随着每递归一次,栈内存就多占用一截。
其实每个递归都可以用for循环实现,可以减少时间复杂度。
递归构成:
1.需要有相同的处理逻辑。
2.递归函数的调用。
3.需要有函数结束语句。递归出口。
4条件判断
选择继续自调用还是结束语句。
5.递归节点需要向结束条件靠近,并最终达到结束条件
0 0
- 递归介绍
- 递归的介绍
- C#递归实例介绍
- 递归算法介绍
- 递归的介绍
- 递归算法简单介绍
- 递归算法介绍和使用
- 详细的介绍一下PHP递归算法
- 递归神经网络教程(1)-RNN介绍
- C语言:递归的简单介绍
- Recurrent Layers——介绍(递归神经网络原理介绍)
- 递归介绍(斐波那契数列)
- LSTM 递归神经网络 基本结构 及 TensorFlow 示例模型介绍
- 着重介绍了非递归算法,特别是非递归后续遍历
- 递归
- 递归
- 递归
- 递归
- OJ题:输入一个多位的数字,求各数位相加。
- JWT 学习笔记
- 2,从零开始搭建SSHM开发框架(集成Spring+JPA)
- java基础——bufferedinputstream FileInputStream inputstream的比较
- java mysql 高性能批量处理 设置rewriteBatchedStatements
- 递归介绍
- Mac中的快捷键
- VDMA之MM2S和S2MM接口调试验证
- 我的java.lang.NoClassDefFoundError问题及其解决
- Permission denied (publickey,keyboard-interactive). fatal: The remote end hung up unexpectedly 解决方法
- Android在SQLite中使用事务
- python新技术
- kaprekar常数(6174猜想)
- HTML的绝对定位与相对定位