码迷,mamicode.com
首页 > 编程语言 > 详细

【Java】Java_19递归算法

时间:2017-04-20 22:51:04      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:自身   public   turn   自己   理解   定义   ++   pre   解决问题   

1.递归算法

 A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!

1.1递归算法要点

递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是自己调用自己,一个使用递归技术的方法将会直接或者间接的调用自己。

利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。

1.2递归结构

递归结构包括两个部分:

    1.    定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。

    2.    递归体。解答:什么时候需要调用自身方法。

2.代码示意

package com.oliver.test;
public class TestRecursion { static int a = 0; public static void test01(){ a++; System.out.println("递归"+a+"次"); if(a<=10){//递归头 test01(); } else{ //递归体 System.out.println("递归结束!"); } } public static int test02(int n){ //求阶乘! if(n==1){ return 1; } else { return n*test02(n-1); } } public static void main(String[] args) { //调用test01 test01(); int value = test02(3); System.out.println("阶乘结果为:"+value); } } 

3.打印结果 

递归1次
递归2次
递归3次
递归4次
递归5次
递归6次
递归7次
递归8次
递归9次
递归10次
递归11次
递归结束!
阶乘结果为:6

 

 

【Java】Java_19递归算法

标签:自身   public   turn   自己   理解   定义   ++   pre   解决问题   

原文地址:http://www.cnblogs.com/OliverQin/p/6741082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!