国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

數據結構實例<二>(斐波那契數列)入門

2019-11-08 19:42:51
字體:
來源:轉載
供稿:網友

題目:

查找斐波納契數列中第 N 個數。

所謂的斐波納契數列是指:

前2個數是 0 和 1 。第 i 個數是第 i-1 個數和第i-2 個數的和。

斐波納契數列的前10個數字是:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...

* 無論遞歸還是非遞歸討論的總是三種情況:n<=0   0<n<=2   n>2 

*特殊討論為0  1這兩種情況。

*0是第0個元素且是第0個元素的值。

*1的情況有兩種,第1個和第2個。

遞歸算法:

/// <summary>        ///     遞歸算法        /// </summary>        /// <param name="n"></param>        /// <returns></returns>        public int Fibonacci(int n)        {            if (n <= 0)            {                return 0;            }            if (n > 0 && n <= 2)            {                return 1;            }            return this.Fibonacci(n - 1) + this.Fibonacci(n - 2);        }*遞歸算法容易理解,嵌套調用Function直至返回結果。(有條件的可以 單步調試即可理解!)

非遞歸算法:

public static int GeneralFibonacci(int n)        {            int sum = 0;            //窮舉第一個和第二個數列元素            int item1 = 1;            int item2 = 1;            if (n <= 0)            {                return sum;            }            if (n > 0 && n <= 2)            {                sum = 1;                return sum;            }            //循環變量應該從0開始長度為n-2 (總長n - 兩個窮舉數列2)            for (int i = 0; i < n - 2; i++)            {                sum = item1 + item2;                item1 = item2;                item2 = sum;            }            return sum;        }*非遞歸算法重要的地方再議循環這部分。1.首先窮舉第1和第2兩個元素。2.確定循環長度n-2  3. 等價替換sum 直至循環結束 sum即為所得。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香港| 抚顺县| 扶风县| 南雄市| 安达市| 章丘市| 安国市| 招远市| 龙山县| 上饶市| 界首市| 原平市| 沽源县| 敦煌市| 平山县| 南宫市| 万源市| 闸北区| 炎陵县| 射阳县| 金湖县| 三河市| 积石山| 文昌市| 辽阳县| 潮州市| 嫩江县| 柳河县| 睢宁县| 图木舒克市| 长兴县| 湘阴县| 托克托县| 山东省| 安远县| 高陵县| 万宁市| 扬中市| 修水县| 应城市| 东辽县|