java递归算法实例和分析
2017-02-11 00:04
127 查看
递归就是方法自身调用自身的行为,注意要写好递归头,也就是什么时候退出递归,
避免出现死循环。
实例1,通过递归打印1~100
实例2,通过递归计算某个数的阶乘
先放长线,最后收线,然后把鱼拉上岸。
避免出现死循环。
实例1,通过递归打印1~100
package com.lanhuigu.base; public class CursionTest { private static int i = 0; /** * 递归打印1到100 */ public static void testCursion01() { i++;// 自增 if (i <= 100) {// 小于等于100时回调,否则跳出回调,避免死循环 System.out.println(i); testCursion01();// 回调: 自身调用自身 } else { System.out.println("Game Over!"); } } public static void main(String[] args) { testCursion01();// 打印1~100 } }
实例2,通过递归计算某个数的阶乘
package com.lanhuigu.base; public class CursionTest { /** * 递归计算某个数的阶乘 */ public static int testFactorial(int n) { if (n == 1) { return 1; } else { return n*testFactorial(n-1); } } public static void main(String[] args) { System.out.println(testFactorial(5));// 计算5的阶乘 } }关于递归计算阶乘,递归内存分析结构图:
先放长线,最后收线,然后把鱼拉上岸。
相关文章推荐
- java递归算法实例分析
- SQL注入黑客防线网站实例分析
- 组件技术的本质COM实例分析一
- UML中的用例(Use Case)概念分析及实例
- MFC窗口位置管理详细分析及实例[转]
- MFC窗口位置管理详细分析及实例
- WEB中基于XMLHTTP的简单实例分析[收藏]
- VC面向对象开发分析与设计实例解析
- 通过实例分析搜索技巧
- 数据库实例分析---旅馆管理系统(-)
- 工作流模型分析--多实例模型
- Intel平台下Linux中 ELF文件动态链接的加载、解析及实例分析(一): 加载
- MFC窗口位置管理详细分析及实例
- 一个普通的DataGrid模板实例与分析(原创)
- Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- css基础精解和实例分析
- 一个创业的实例分析(转载)
- UML应用-应用Rational Rose 进行状态机分析与设计实例
- 实例分析J2ME网络编程的两种方法
- JSP和IIS的最佳解决方案实例分析