25_递归算法详解
来源:互联网 发布:数据质检过程 编辑:程序博客网 时间:2024/05/16 00:46
递归算法
A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!
递归算法要点:
递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。
利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。
递归结构包括两个部分:
1. 定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。
2. 递归体。解答:什么时候需要调用自身方法。
/** * 测试递归算法 * @author */public class TestRecursion { static int a = 0; public static void test01(){ a++; System.out.println("test01:"+a); if(a<=10){ //递归头 test01(); }else{ //递归体 System.out.println("over"); }}public static void test02(){ System.out.println("TestRecursion.test02()");}public static long factorial(int n){//递归算法计算阶乘 if(n==1){ return 1; }else{ return n*factorial(n-1); }}public static void main(String[] args) { test01(); System.out.println(factorial(10)); }}
阅读全文
0 0
- 25_递归算法详解
- C#_递归算法
- 递归_汉诺塔算法
- 递归算法时间复杂度_递归树
- Java基础_递归算法
- 递归_算法题解2
- 递归算法详解-
- 递归算法详解
- 递归算法详解
- 递归算法详解
- 递归算法详解
- 递归算法详解
- 递归算法详解
- 递归算法详解
- C#递归算法详解
- 递归算法详解
- C#递归算法详解
- 递归算法详解
- 使用SfntTool制作字体剪辑工具4
- 【机器学习】关于t-sne:降维、可视化
- c++中resize()函数
- Unsafe与CAS
- 拖放=>实现两个div内容互换
- 25_递归算法详解
- 13. Roman to Integer
- 字符串C语言实现
- PHP命名空间(Namespace)的使用详解
- Android中Bitmap,byte[],Drawable之间的相互转化
- 个人免费!Visual Studio 2015官方下载
- myEclipse和eclipse修改或复制项目名称后部署名称为原来的名称
- csu:1956: 数字和 (多指针尺取)
- 序列设计之enq SQ