简单说明什么是递归?什么情况会使用?并使用Java实现一个简单的递归程序。

xiaoxiao2021-02-28  30

1、递归做为一种算法在程序设计语言中广泛使用,是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。 2、递归算法一般用于解决三类问题:

  1)数据的定义是按递归定义的。(Fibonacci(斐波那契)的函数)   2)问题解法按递归算法实现。(回溯)

  3)数据的结构形式是按递归定义的。(树的遍历,图的搜索) 3、下面是使用递归算法实现计算某个整数在二进制中的个数,代码如下所示:

/** *计算二进制中1的个数, *N为奇数,二进制中1的个数等于N/2的个数 *例子: *num = 13 *1.getBinary(13/2=6)+1; *2.getBinary(6/2=3)+1 *3.getBinary(3/2=1)+1+1 *4.getBinary(1)+1+1; *getBinary(1)返回1,与后边两个1相加得结果3 */ public static innt getBinary(int num){ if(num ==1) return 1; if(0 ==num % 2){ return getBinary(num/2); }else{ return getBinary(num/2)+1; } }
转载请注明原文地址: https://www.6miu.com/read-2630185.html

最新回复(0)