来源:我的博客站 OceanicKang |《C++ 数据结构(二)向量(6)斐波那契查找》
【注】斐波那契查找是在二分查找的基础上根据斐波那契数列进行分割的
思路及原理
二分查找版本A的效率仍有改进的余地,因为不难发现
转向左、右分支前的关键码 比较次数
不等,而 递归深度
却相同
若能通过 递归深度
的不均衡,对 转向成本
的不均衡进行补偿
平均查找长度应能进一步缩短 …
比如,若设 n = fib(k) - 1
,则可取 mi = fib(k - 1) - 1
于是,前、后子向量的长度分别为 fib(k - 1) - 1
、fib(k - 2) - 1