国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

8.5斐波那契(黃金分割)查找算法

2021-12-22 23:07 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會偶爾插入自己的注釋和理解,盡量會完成作業(yè)

這次內(nèi)容有點難理解,第一次聽不懂沒關(guān)系,可以拿出紙筆跟著寫一遍

8.5斐波那契(黃金分割)查找算法

8.5.1斐波那契(黃金分割法)查找基本介紹

黃金分割點是指把一條線段分割為兩部分,使其中一部分與全長之比等于另一部分與這部分之比。取其前三位數(shù)字的近似值是0.618。由于按此比例設(shè)計的造型十分美麗,因此稱為黃金分割,也稱為中外比。這是一個神奇的數(shù)字,會帶來意想不到的效果。

斐波那契數(shù)列{1,1,2,3,5,8,13,21,34,55 }發(fā)現(xiàn)斐波那契數(shù)列的兩個相鄰數(shù)的比例,無限接近黃金分割值0.618

8.5.2斐波那契(黃金分割法)原理

斐波那契查找原理與前兩種相似,僅僅改變了中間結(jié)點(mid)的位置,mid不再是中間或插值得到,而是位于黃金分割點附近,即mid=low+F(k-1)-1(F代表斐波那契數(shù)列),如下圖所示

對F(k-1)-1的理解

1.????? 由斐波那契數(shù)列F[K]=F[k-1]+F[k-2]的性質(zhì),可以得到(F[k]-1)=(F[k-1]-1)+(F[k-2]1)+1。該式說明:只要順序表的長度為F[k]-1,則可以將該表分成長度為F[k-1]-1和F[k-2]-1的兩段,即如上圖所示。從而中間位置為

2.????? mid=low+F(k-1)-1

3.????? 類似的,每一子段也可以用相同的方式分割,但順序表長度n不一定剛好等于F[k]-1,所以需要將原來的順序表長度n增加至F[K]-1.這里的k值只要能使得F[好]-1恰好大于或等于n即可,由以下代碼得到,順序表長度增加后,新增的位置(從n1到F[k]-1位置),都賦為n位置的值即可。

while(n>fib(k)-1)

k++

8.5.3斐波那契(黃金分割法)查找應(yīng)用案例

請對一個有序數(shù)組進(jìn)行斐波那契查找{1,8,10,89,1000,1234},輸入一個數(shù)看看該數(shù)組是否存在此數(shù),并且求出下標(biāo),如果沒有就提示"沒有這個數(shù)"。

代碼實現(xiàn)

確實有點難理解,建議拿出紙筆,跟著寫一遍,或者debug一遍

8.5斐波那契(黃金分割)查找算法的評論 (共 條)

分享到微博請遵守國家法律
龙岩市| 湘阴县| 延安市| 抚宁县| 宣威市| 确山县| 美姑县| 深泽县| 辛集市| 大新县| 简阳市| 天镇县| 九江市| 上栗县| 巫山县| 静乐县| 鲁山县| 仲巴县| 高清| 阿拉善左旗| 从化市| 揭阳市| 巴彦淖尔市| 米易县| 共和县| 凤冈县| 东兰县| 杨浦区| 广东省| 昌都县| 阳信县| 中江县| 石城县| 天全县| 华池县| 武乡县| 黎城县| 常州市| 三原县| 绥宁县| 南漳县|