递归算法
来源:互联网 发布:西门子软件质量规范 编辑:程序博客网 时间:2024/06/06 07:41
参考一个博客地址:http://blog.csdn.net/luoweifu/article/details/8509688
1、递归简单定义:程序调用自身的编程技巧。
分类为直接递归,也就是程序在执行过程中直接调用自身。
间接递归,程序在执行过程中,调用别的函数,再间接调用到自身。
2、递归的特性
1、必须有最终可到达的终止条件,否则死循环
2、子问题在规模上比原问题小,或者接近终止条件
3、子问题可通过再次递归调用求解或者满足终止条件求解
4、子问题的解应能组合成整个问题的解
3、并不是所有的问题都能用递归来解决。
分析问题能否用递归解决,两个条件:
1、递归公式。
2、退出条件。最后能分解为有确定解的问题。
4、具体应用
1、阶乘。 n! = n * (n-1) * (n -2) * ... * 2 * 1
2、菲波那切数列。 1 ,1, 2, 3, 5, 8, 13...
3、阿克曼函数。 试试吧。很有意思。递归导致堆栈溢出。
4、汉诺塔。 等等
阅读全文
0 0
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- Mac-ios下JDK的安装路径(java)
- imx6ul+获取rtc时间
- Leetcode算法学习日志-525 Contiguous Array
- 运动目标识别系统Matlab仿真——附上程序
- 手把手入门神经网络系列(1)_从初等数学的角度初探神经网络
- 递归算法
- Flume 日志收集、使用Flume收集日志到HDFS
- Android ANR问题分析
- test
- 源码包和bin软件安装
- Unity游戏引擎挖坑记之3d游戏ui屏幕适配方案(二)
- 机器学习鉴定《鬼吹灯1-4》是不是天下霸唱所写
- easyui--5.DataGrid
- 缓存穿透与缓存雪崩