【蛻變之路】第18天 遞歸算法 (2019年3月8日)

    Hello,大家好!我是程序員阿飛!這兩天由於家裏網線讓豆豆(金毛)咬斷了,所以沒能按時更新學習內容。今天週末不上班,所以找來了維修師傅,將網線接好了。因此,今天將前兩天未及時更新的內容補上。好了,廢話不多說了,下面我們進入正題。今天,我學習的內容是:遞歸算法。

    1、遞歸算法

    遞歸算法指的是:直接或者間接調用本身自己方法的算法。

    2、應用實例

    (1)對於字符串ABCDEFG,輸出GFEDCBA,要求使用遞歸

        package com.now.coder;

        public class Demo01 {

            /**

             * @content 對於字符串ABCDEFG,輸出GFEDCBA,要求使用遞歸

             * @since 2019-3-9

             * @author rain

             */

            public static void main(String[] args) {

                String str = "ABCDEFG";

                System.out.println(str);

                help(0,str);

            }

            public static void help(int index,String str){

                if(index>=str.length()){

                    return;

                }else{

                    help(index+1,str);

                }

                //charAt()方法用於返回指定索引處的字符

                System.out.print(str.charAt(index));

            }

        }

    (2)一列數的規則如下: 1、1、2、3、5、8、13、21、34 ,求第30位數是多少?使用遞歸實現

        public class FibonacciSequence {

            public static void main(String[] args){

                System.out.println(Fribonacci(9));

              }

            public static int Fribonacci(int n){

                if(n<=2)

                    return 1;

                else

                    return Fribonacci(n-1)+Fribonacci(n-2);

            }

        }

    3、遞歸算法的優缺點

    (1)優點:代碼更簡潔清晰,可讀性更好。

    (2)缺點:空間消耗大,系統可能撐不住。

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章