java中什么是递归【JAVA教程】,java,递归
什么是递归
递归做为一种算法在顺序设计语言中广泛应用,它是指函数/历程/子顺序在运转历程当中直接或间接挪用本身而发生的重入征象。
递归算法平常用于处理三类问题:
a.数据的定义是按递归定义的。(Fibonacci(斐波那契)函数)
b.问题解法按递归算法完成。(回溯)
c.数据的构造情势是按递归定义的。(树的遍历,图的搜刮)
进修视频教程分享:java教授教养视频
例子:
这是一个分列的例子,它所做的事情是将输入的一个字符串中的一切元素举行排序并输出
比方:你给出的参数是”abc” 则顺序会输出: abc acb bac bca cab cba a
算法的出口在于:low=high也就是如今给出的分列元素只要一个时。
算法的迫近历程:先肯定分列的第一位元素,也就是循环中i所代表的元素, 然后low+1入手下手削减分列元素,云云下去,直到low=high
示比方下:
public class Foo { public static void main(String[] args) { permute(“abc”); } public static void permute(String str) { char[] strArray = str.toCharArray(); permute(strArray, 0, strArray.length – 1); } public static void permute(char[] list, int low, int high) { int i; if (low == high) { String cout = “”; for (i = 0; i <= high; i++){ cout += list[i]; System.out.println(cout); } }else { for (i = low; i <= high; i++) { char temp = list[low]; list[low] = list[i]; list[i] = temp; permute(list, low + 1, high); temp = list[low]; list[low] = list[i]; list[i] = temp; } } } }
相干文章教程引荐:java编程入门
以上就是java中什么是递归的细致内容,更多请关注ki4网别的相干文章!