课本源码部分
第9章 查找 - 斐波那契查找
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ Base.c
文档中源码及测试数据存放目录:数据结构▲课本算法实现▲09 查找 3 FibonacciSearch
概述
斐波那契查找类似于二分查找,不同的是二分查找每次查找时会在查找范围上限的中点处比较,而斐波那契查找则在查找范围上限的一个斐波那契分割点上进行查找。
解析
斐波那契查找就是在二分查找的基础上根据斐波那契数列进行分割的。在斐波那契数列找一个等于略大于查找表中元素个数的数F[n],将原查找表扩展为长度为F[n](如果要补充元素,则补充重复最后一个元素,直到满足F[n]个元素),完成后进行斐波那契分割,即F[n]个元素分割为前半部分F[n-1]个元素,后半部分F[n-2]个元素,找出要查找的元素在那一部分并递归,直到找到。
斐波那契查找的优点是在确定下一个比对元素时,仅用加、减就可以计算得出,比二分查找的除法要节省时间。
源码
文件一 ☛ FibonacciSearch.h
文件二 ☛ FibonacciSearch.c
文件三 ☛ FibonacciSearch-main.c (测试文档)
文件四 ☛ TestData_Table.txt(查找表测试数据)
测试结果展示