斐波那契查找学习笔记
思路是和二分差不多的,是利用斐波那契的特点进行了优化,斐波那契的前一个/后一个很接近黄金分割的,斐波那契的特点是:
f[k]=f[k-1]+f[k-2],变形可得f[k]-1=f[k-1]-1+f[k-2]-1+1,这样的话另mid等于f[k-1]-1,进行迭代就好了,不过要让数组的长度为f[k]-1,因此通过
while(length>f[k]-1){k++;}来调整K,直到找到一个k满足f[k]-1大于length,这时候将数组填充为长度为f[k]-1的临时数组进行查找,而且可以分成长度是f[k-
原创
2020-10-01 17:58:21 ·
274 阅读 ·
0 评论