从品牌网站建设到网络营销策划,从策略到执行的一站式服务
什么是递归
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了工农免费建站欢迎大家使用!
递归做为一种算法在程序设计语言中广泛应用,它是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。
递归算法一般用于解决三类问题:
a.数据的定义是按递归定义的。(Fibonacci(斐波那契)函数)
b.问题解法按递归算法实现。(回溯)
c.数据的结构形式是按递归定义的。(树的遍历,图的搜索)
例子:
这是一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出
例如:你给出的参数是”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中什么是递归的详细内容,更多请关注创新互联其它相关文章!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图