java中的递归是什么意思,java递归怎么理解
什么是递归?
递归作为一种算法,在程序设计语言中被广泛使用。是指函数/过程/子程序在运行过程中直接或间接调用自身而导致的重入现象。
递归算法通常用于解决三种问题:
A.数据的定义是递归定义的。(斐波那契(斐波那契)函数)
B.通过递归算法实现了问题的求解。(回溯)
C.数据的结构形式是递归定义的。(遍历树,搜索图形)
学习视频教程分享:java教学视频
示例:
这是一个排列的例子。它所做的是对输入字符串中的所有元素进行排序并输出它们。
比如你给的参数是“abc”,程序会输出:ABC ACB BAC BCA CAB CBA A
算法的出口是:低=高,也就是现在只给一个置换元素的时候。
算法的近似过程:先确定排列的第一个元素,即循环中I表示的元素,然后low+1开始减少排列元素,以此类推,直到low=high。
例子如下:
公共类Foo {
公共静态void main(String[] args) {
置换(“ABC”);
}
公共静态void置换(字符串str) {
char[]strArray=str . tochararray();
permute(strArray,0,strArray . length1);
}
public static void permute(char[]list,int low,int high) {
int I;
if(低==高){
String cout=
for(I=0;i=高;i ){
cout=list[I];
system . out . println(cout);
}
}否则{
for (i=低;i=高;i ) {
char temp=list[low];
list[low]=list[I];
list[I]=temp;
permute(列表,低1,高);
temp=list[low];
list[low]=list[I];
list[I]=temp;
}
}
}
}相关文章教程推荐:java编程入门以上是java中什么是递归的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。