fibonacci查找

来源:互联网 发布:js ajax获取json数据 编辑:程序博客网 时间:2024/06/04 08:03

               fibonacci查找是一种分治的方法,利用fibonacci数列对有序表进行有效的分割而实现查找的过程。其核心思想如下图:

有序表的长度为F[k]-1,其中F为Fibonacci数列,若原有序表长度不等于某个F[k] - 1,则可以通过复制最后一个记录的key值使得长度等于F[k] - 1。

取mid = low + F[k - 1] - 1, 因为Fibonacci中F[k-1] / F[k] 无线趋近黄金分割数,所以fibonacci查找相对于二分查找就是mid取值的变化,从中点变化到黄金分割点,搜索树的深度变大,但是其操作没有了乘法操作,只有一些加减操作,有关文献中说其平均性能优于二分查找,实验表明fibonacci查找算法大约较二分查找算法快17%[1]。



参考文献

[1]   王立波, 斐波那契查找算法的改进[J],杭州电子科技大学学报, 2011(03).

原创粉丝点击