学了半天,终于搞懂斐波那契查找算法

本文详细介绍了斐波那契查找算法,将其与二分查找进行对比,并通过实例解析了斐波那契数列在查找过程中的应用,以及如何确定中间索引值mid的计算方法。同时,给出了具体的代码实现,尽管对于代码中的某些细节,作者仍需要进一步理解。
摘要由CSDN通过智能技术生成

学了半天,终于搞懂斐波那契查找算法

介绍

  本文主要记录笔者本人在B站学习尚硅谷韩顺平老师的数据结构与算法时,学到斐波那契查找算法,遇到困惑,最后经过查阅查阅资料,终于搞懂算法本身的过程。在此与大家分享笔者理解该算法的一些见解。
原视频地址:斐波那契查找

斐波那契数列查找介绍

  斐波那契数列查找算法在我理解来看是一种变式的二分查找,与二分查找不同是:
(1)二分查找每次查找数组的中间值,例如有一个长度为6的数组如下:[1,8,10,89,1000,1234],其中间值索引:
m i d = l e f t + ( r i g h t − l e f t ) 2 mid = left + \frac{(right - left)}{2} mid=left+2(rightleft)
 则第一次查找时,查找的是索引为2的元素10,然后根据根据查找目标值和元素10进行比较,再判断是往左边还是往右边进行递归的二分查找。
(2)而斐波那契数列查找除了查找值的索引mid的取值不同,其他与二分查找基本一致。使用斐波那契查找需要借助斐波那契数列,斐波那契数列的递归表达式如下(在此默认你是知道斐波那契数列的,如若不知道,则自行搜索相关知识点):
F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(n) = F(n-1) +F(n-2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值