亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

遞歸算法

標簽:
Android

故名思议自己调用自己,我们从简单到复杂、

/**
 * 递归
 */
public static void myI(int n) {
    if (n < 0) {
        return;
    } else {
        myI(n - 1);
        System.out.println(n);
    }
}
这个是最简单的递归
2,复杂点的就是阶乘 1,1,2,3,5,8,13想这样的
/**
 * 递归调用阶乘 1+1+2+3+5+8
 */
public int FibonacciSequence(int n){
    if(n==1 || n==2){
        return 1;
    }else{
        int i=FibonacciSequence(n-1)+FibonacciSequence(n-2);
        System.out.println(i+"数字");
        return FibonacciSequence(n-1)+FibonacciSequence(n-2);
    }
}
一个正序列,一个反序,为什会出入俩遍一开始我没有懂后来我懂了,是压栈了,
3,加大点难度的汉诺塔问题
 /**
     *
     * @param n         盘子的个数
     * @param start     开始的柱子
     * @param middle    中介柱子
     * @param end        结果的柱子
     */                       //5         1          2         3
    public static void hanoi(int n,int start,int middle,int end){
        if(n<=1){
            System.out.println(start+"---->"+end);
        }else{      //  1    3    2
            hanoi(n-1,start,end,middle);//把第一个上的n-1个移到中间
            System.out.println(start+"---->"+end);//把第一个上的一个移到最后
                    //  2     1     3
            hanoi(n-1,middle,start,end);//把中间的n-1个移到最后
        }
    }
这个的好好琢磨琢磨
生活中我们遍历内存卡用到递归。

原文链接:http://www.apkbus.com/blog-340477-76615.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消