注:原创作品,分享以供交流学习,转载请注明出处。
递归就是方法调用自身。对于递归来说,一定有一个出口,让递归结束
只有这样才能不出现死循环。递归如果出现问题,调试起来不容易,应为一直在一个方法里运行,看不出来哪里出现问题,随意递归对思维要求还是比较高的。
注意:使用递归方法上去一定找出口,否则死循环
下面的例子是用递归的方法计算阶乘。 N! = n*(n-1)!
public class Recursion {
//用递归计算阶乘
public static int computer2(int number)
{
//首先判断递归出口(所有递归算的第一步都需要找到出口)
if(1 == number)
{
return 1;
}
else
{
return number * computer2(number-1);
}
}
//用递归计算斐波那契额数列1,1,3,4,7,11,18
public static int feibonaqie(int n)
{
//递归出口的判断
if(1 == n || 2 == n)
{
return 1;
}
else
{
return feibonaqie(n - 1) + feibonaqie(n - 2);
}
}
public static void main(String[] args) {
System.out.println(computer2(5));
System.out.println("斐波那契额第九位数字为:" + feibonaqie(9));
}
}
使用递归删除文件实例:
import java.io.File;
public class RecursionDeleteAllFileTest {
public static void deleteAll(File file)
{
if(file.isFile() ||file.list().length==0)
{
file.delete();
}
else
{
File[]files = file.listFiles();
for(File f : files)
{
deleteAll(f);
f.delete();
}
}
}
public static void main(String[] args) {
deleteAll(new File("d:\\cvs"));
}
}
分享到:
相关推荐
在编程领域,递归是一种强大的算法,它通过函数或方法自身调用来解决问题。在Java中,我们可以使用递归来计算一个数的阶乘。阶乘是一个数学概念,表示一个正整数n的所有小于等于n的正整数的乘积,通常表示为n!。例如...
### Java编写的递归算法的经典事例:全排列输出 #### 概述 本文将详细介绍一个用Java编写的递归算法实例,该实例用于实现字符数组的所有可能全排列。通过这个例子,我们可以深入理解递归的基本概念、工作原理以及...
java递归算法,java递归算法,java递归算法
在这个"java数据结构递归算法"主题中,我们将深入探讨递归的基本概念、如何在Java中使用递归,以及一个著名的递归应用案例——八皇后问题。 递归是函数或方法调用自身的过程。它基于一个问题的规模缩小至基本情况,...
Java递归算法是一种重要的编程技巧,它通过函数自身调用自身来解决问题。在Java中,递归主要用于解决那些可以通过简化规模来逐步逼近解决方案的问题。这种技术在数据结构(如树和图)、排序算法(如快速排序和归并...
Java二分查找递归算法
### Java程序中的递归算法:列出某个目录下的所有子目录和文件 在计算机科学领域,递归算法是一种非常强大的工具,它可以简化很多复杂问题的解决过程。递归算法的基本思想是将一个大问题分解成若干个与原问题相似的...
在递归算法中,利用Java的多线程特性可以显著提升算法的执行效率,尤其是在处理大规模数据集时。例如,快速排序算法,一个经典的递归算法,可以通过并行处理两个子数组的排序过程,从而大幅减少排序所需的时间。 ##...
Java 递归算法构造 JSON 树形结构 Java 递归算法构造 JSON 树形结构是指通过 Java 语言使用递归算法将数据库中的菜单表构建成树形的 JSON 格式发送给第三方。这种方法可以将复杂的树形结构数据转换成易于理解和处理...
LCS问题 归并排序 矩阵链乘积问题 N皇后问题 贪心算法 快速排序 二分检索 求最大元素最小元素(分治算法) 求n个数的排列(递归)
递归算法和非递归算法 在计算机科学与编程领域中,递归算法与非递归算法是两种非常重要的计算方法。本文将详细介绍这两种算法的特点、应用场景以及如何实现它们,特别针对初学者及面试准备者。 #### 递归算法 ...
一个用JAVA编写的扫雷程序,原创! 可以输入界面的行列数和雷数,此程序的精髓在打开一个不是雷而且周围没有雷的格子时,用到了递归的思想。
### 数据结构与算法(JAVA篇)之递归算法 #### 概念介绍 递归算法是一种常见的编程技术,尤其在解决具有重复子问题的问题时非常有效。递归算法的特点是函数自身调用自身来解决问题的不同部分,直到达到基本情况...
18.递归算法与递归算法应用.ppt
### Java实现用递归算法和非递归算法求解斐波那契数列问题 #### 知识点解析 在给定的文档标题与描述中,“Java实现用递归算法和非递归算法求解斐波那契数列问题”明确指出了本文将围绕Java编程语言、递归算法与非...
总结起来,"java算法递归字符"涉及到利用Java编程语言中的递归技术来处理字符计数问题,以及可能的排序算法。递归是理解和解决问题的强大工具,尤其在处理字符串和数组等数据结构时。然而,需要注意的是,虽然递归...
### 数据结构与算法(JAVA篇)之递归算法(二) #### 递归与二分查找 本文将探讨递归算法中的一个重要应用——二分查找,并对比递归与非递归两种实现方式。 ##### 递归的概念介绍 递归是一种算法设计策略,它...
Java 递归算法浅谈 Java 递归算法是 Java 编程中的一种常见算法,通过自调用函数实现复杂问题的解决。下面是 Java 递归算法的相关知识点。 一、递归函数的定义 递归函数是指在函数体内直接或间接地调用自己,即...
标题“经典算法之递归”暗示我们将探讨使用递归解决一些经典的计算机科学算法。递归通常涉及两个主要部分:基本情况(Base Case)和递归情况(Recursive Case)。基本情况是问题最简单或最小的形式,可以直接求解,...
Java 递归算法 Java 递归算法是指一个函数通过调用自身来解决问题的过程。这种算法通常用于解决可以被分解成相同问题的子问题的问题。它是一种非常强大的技术,可以用于解决许多计算问题,例如搜索,排序和数据结构...