我是靠谱客的博主 饱满保温杯,最近开发中收集的这篇文章主要介绍java中什么是递归_java中什么是递归,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

af8aaf23cdef99e390cdbea5cdd9d535.png

什么是递归

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

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

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中什么是递归_java中什么是递归的全部内容,希望文章能够帮你解决java中什么是递归_java中什么是递归所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部