您的位置 首页 技术

java中什么是递归

什么是递归 递归做为一种算法在程序设计语言中广泛应用,它是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。 递归算法一般用于解决三类问题: a.数据的定义是按递…

什么是递归

递归做为一种算法在程序设计语言中广泛应用,它是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。

递归算法一般用于解决三类问题:

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中什么是递归的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/21028.html

为您推荐

返回顶部