
说到递归想必大家还是比较熟悉的,简单来说就是把问题细化,同时重复某一项的循环操作。这里还是要跟循环有一个区分,像我们之前学习的斐波那契数列、插入排序都用到了递归的思想。不论是学习的重点,还是面试的时候,都会对这方面有所涉及。下面就一些java递归练习题分享给大家。
1.多分支递归,斐波那契数列
用代码求某一项斐波那契数列的值
斐波那契数列:这一项的值等于前两项的和
如: 1,1,2,3,5,8,13…
分解成两个子问题,f5(n-1)和f5(n-2)
staticintf5(intn){
if(n==1||n==2){
return1;
}
returnf5(n-1)+f5(n-2);
}
效果图:


2.插入排序
staticvoidf7(int[]array,intk){
if(k==0){
return;
}
intx=array[k];
intindex=k-1;
f7(array,k-1);
while(x<array[index]&&index>-1){
array[index+1]=array[index];
index--;
}
array[index+1]=x;
}原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















































暂无评论内容