您的位置:首页 > 编程语言 > Java开发

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

2018-03-15 22:34 761 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐