排序算法|初级递归题解析

目录

1、用递归实现1+2+3+……+10【开胃菜】
【排序算法|初级递归题解析】排序算法|初级递归题解析
文章图片

2、用递归求斐波那契数列

例如:1,1,2,3,5……
注:代码举例的是第十项斐波那契数
3、小青蛙跳台阶(一次只可以跳1或2个台阶)求小青蛙跳上n个台阶总共有多少种跳法
注:代码举例的是四个台阶一共有多少种跳法
4、用递归法实现汉诺塔问题
1、用递归实现1+2+3+……+10【开胃菜】(下面越来越难哦)!!!

? publicclassTestDemo{ publicstaticint sumAdd(int n){//求1+2+3+...+n if (n == 1) { return 1; } int sum=n; sum=sum+sumAdd(n-1); return sum; } public static void main(String[] args){ System.out.println(sumAdd(10)); } }?

2、用递归求斐波那契数列排序算法|初级递归题解析
文章图片

【斐波那契:前两项之和等于第三项以此类推】
例如:1,1,2,3,5……
publicclassTestDemo{ public static int fib(int n) { if (n == 1 || n == 2) { return 1; } else { return fib(n - 1) + fib(n - 2); } } public static void main(String[] args) { System.out.println(fib(10)) } }

注:代码举例的是第十项斐波那契数 3、小青蛙跳台阶(一次只可以跳1或2个台阶)求小青蛙跳上n个台阶总共有多少种跳法
public class TestDemo{ public static int frogJump(int n){//青蛙跳台阶 if(n==1||n==2){ return n; }else { return frogJump(n-1)+frogJump(n-2); } } public static void main(String[] args) { System.out.println(frogJump(4)); } }

注:代码举例的是四个台阶一共有多少种跳法
排序算法|初级递归题解析
文章图片


4、用递归法实现汉诺塔问题 排序算法|初级递归题解析
文章图片

publicclassTestDemo{ publicstaticvoid move(char p1,char p2){ System.out.print(p1+"->"+p2+"; "); }/** * * @param n//代表汉诺塔盘子的个数 * @param p1//代表盘子的起始位置 * @param p2//代表盘子的中转位置 * @param p3//代表盘子的最终位置 */ public static void han(int n,char p1,char p2,char p3){ if (n == 1) { move(p1,p3); }else { han(n-1,p1,p3,p2); move(p1,p3); han(n-1,p2,p1,p3); } }public static void main(String[] args) { han(1,'A','B','C'); System.out.println(); han(2,'A','B','C'); System.out.println(); han(3,'A','B','C'); System.out.println(); } }

排序算法|初级递归题解析
文章图片


排序算法|初级递归题解析
文章图片






    推荐阅读