`
thunderbow
  • 浏览: 156579 次
  • 性别: Icon_minigender_1
  • 来自: beijing
社区版块
存档分类
最新评论

关于java递归算法

阅读更多
example: 求5的阶乘。。   

如下:

public class Test {  
static int multiply(int n){  
if(n==1||n==0)  
return n;  
else  
return n*multiply(n-1);  
}  

public static void main(String[] args){  
System.out.println(multiply(10));  
}  
} 
 

上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说: 
n=5;执行 5*multiply(4); 
-------------------- 
这时候看multiply(4) 
n=4 执行 4*multiply(3); 
------------------- 
看multiply(3) 
n=3,执行 3*multiply(2); 
--------------- 
mulitply(2); 
n=2 执行 2*mulitply(1); 
这时候,return 1;往上返回 
2*1向上返回 
3*(2*1)向上返回 
4*(3*(2*1)) 向上返回 
5*(4*(3*(2*1)) ) = 120 
所以程序输出120; 
这事简单的递归的例子;所以可以看出来递归的关键得有递归出口(本体的If语句),还有递归方法; 

 

分享到:
评论
4 楼 gembin 2012-04-17  
这个算法数字大点就 java.lang.StackOverflowError 了
3 楼 hugh.wang 2011-10-11  
              
2 楼 lele0103 2011-09-08  
                                   
1 楼 lauphai 2009-10-22  
//递归算法
public class Recursion{

  int result=1;
 
  public int nRecursion(int n){

     // 如果这个数不是一个整数,则向下舍入
      // n = Math.floor(n); 

     if(n>0){

          result=result*n;

          nRecursion(n-1);

       }

       return result;

     }

}

相关推荐

    Java递归算法构造JSON树形结构

    Java 递归算法构造 JSON 树形结构 Java 递归算法构造 JSON 树形结构是指通过 Java 语言使用递归算法将数据库中的菜单表构建成树形的 JSON 格式发送给第三方。这种方法可以将复杂的树形结构数据转换成易于理解和处理...

    java递归算法

    java递归算法,java递归算法,java递归算法

    Java递归算法(PPT+PDF+Word)

    文档"Java递归算法.docx"可能包含了关于如何在实际代码中应用递归的例子,例如经典的Fibonacci序列计算、阶乘计算或者二分查找等。这些例子有助于理解递归的工作原理和如何在Java中实现它们。 "Java递归算法.pdf...

    java编写的递归算法的经典事例

    ### Java编写的递归算法的经典事例:全排列输出 #### 概述 本文将详细介绍一个用Java编写的递归算法实例,该实例用于实现字符数组的所有可能全排列。通过这个例子,我们可以深入理解递归的基本概念、工作原理以及...

    Java递归算法jid

    Java 递归算法 Java 递归算法是指一个函数通过调用自身来解决问题的过程。这种算法通常用于解决可以被分解成相同问题的子问题的问题。它是一种非常强大的技术,可以用于解决许多计算问题,例如搜索,排序和数据结构...

    5!递归算法和非递归算法

    递归算法和非递归算法 在计算机科学与编程领域中,递归算法与非递归算法是两种非常重要的计算方法。本文将详细介绍这两种算法的特点、应用场景以及如何实现它们,特别针对初学者及面试准备者。 #### 递归算法 ...

    java递归算法浅谈

    Java 递归算法浅谈 Java 递归算法是 Java 编程中的一种常见算法,通过自调用函数实现复杂问题的解决。下面是 Java 递归算法的相关知识点。 一、递归函数的定义 递归函数是指在函数体内直接或间接地调用自己,即...

    Java递归算法遍历部门代码示例

    Java 递归算法遍历部门代码示例 Java 递归算法遍历部门代码示例是指使用 Java 语言实现的递归算法来遍历部门树结构的示例代码。该示例代码主要用于介绍如何使用 Java 递归算法来遍历部门树结构,具有较高的借鉴价值...

    数据结构与算法(JAVA篇)之递归算法

    ### 数据结构与算法(JAVA篇)之递归算法 #### 概念介绍 递归算法是一种常见的编程技术,尤其在解决具有重复子问题的问题时非常有效。递归算法的特点是函数自身调用自身来解决问题的不同部分,直到达到基本情况...

    Java二分查找递归算法

    Java二分查找递归算法

    Java 数组递归算法的复杂度

    ### Java 数组递归算法的复杂度 #### 内容概览 本文主要探讨了Java中几种常见的排序算法(冒泡排序、选择排序、插入排序、希尔排序)以及递归算法的时间复杂度分析。通过具体代码示例和理论分析,帮助读者理解不同...

    java数据结构递归算法

    在这个"java数据结构递归算法"主题中,我们将深入探讨递归的基本概念、如何在Java中使用递归,以及一个著名的递归应用案例——八皇后问题。 递归是函数或方法调用自身的过程。它基于一个问题的规模缩小至基本情况,...

    18.递归算法与递归算法应用.ppt

    18.递归算法与递归算法应用.ppt

    15个典型的递归算法的JAVA实现

    15个典型的递归算法的JAVA实现,求N的阶乘、欧几里德算法(求最大公约数)、斐波那契数列、汉诺塔问题、树的三种递归遍历方式、快速排序、折半查找、图的遍历、归并排序、八皇后问题(回溯、递归)、棋盘覆盖(分治,...

    递归算法专题ppt

    ### 递归算法专题知识点详解 #### 一、递归算法原理 递归算法是一种将问题分解成子问题的方法,其中子问题与原问题性质相同但规模较小。递归算法的关键在于识别出能够通过递归解决的问题,并找到递归的基本情况...

    Java实现用递归算法和非递归算法求解斐波那契数列问题.docx

    ### Java实现用递归算法和非递归算法求解斐波那契数列问题 #### 知识点解析 在给定的文档标题与描述中,“Java实现用递归算法和非递归算法求解斐波那契数列问题”明确指出了本文将围绕Java编程语言、递归算法与非...

    用java写的查询某市地铁的最短路径,递归算法

    在这个特定的项目中,我们有一个Java程序,它使用递归算法来解决查询某市地铁的最短路径的问题。递归算法是一种强大的工具,它通过将大问题分解为更小的相似子问题来解决复杂的问题。 首先,我们要理解什么是递归。...

    java递归树型结构通用数据库

    在Java递归树型结构通用数据库中,使用递归算法来实现部门信息的查询和删除操作,该算法可以递归查询部门信息,实现树型结构的部门管理。 7. 部门树型结构展示 在Java递归树型结构通用数据库中,提供了部门树型...

Global site tag (gtag.js) - Google Analytics