1、斐波那契数列
黄金分割点是指把一条线段分割为两部分, 使其中一部分与全长之比等于另一部分与这部分之比。 取其前三位数字的近似值是 0.618。
斐波那契数列 { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } 发现斐波那契数列的两个相邻数的比例, 无限接近黄金分割值 0.618
2、斐波那契查找
在进行黄金分割时: mid = left+0.618(right-left) ,mid 要取整数。斐波那契查找原理与前两种相似, 仅仅改变了中间结点(mid) 的位置,mid 不再是中间或由插值计算得到,而是位于黄金分割点附近, 即 mid = low + F(k-1) - 1。
3、对 F(k)-1 的理解
1、只要顺序表的长度为 F[k]-1, 则可以将该表分成长度为 F[k-1]-1 和 F[k-2]-1 的两段 。从而中间位置为 mid=low+F(k-1)-1 ,类似的,每一子段也可以用相同的方式分割。
2、如果数组长度为 F(k) ,而 F(k) = F(k-1) + F(k-2) ,无法找中间值。
3、当凑成 F(k-1) ,数组左边的长度是 F(k-1) - 1 ,数组右边的长度是 F(k-2) - 1 ,就拿个斐波那契数列来说:{ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } ,54 = 33 + 20 + 1 ,左边是 F(k-1) - 1 ,右边是 F(k-2) - 1 ,同时也空出了一个中间值。
斐波那契查找
最新推荐文章于 2023-03-16 22:49:52 发布