課本源碼部分
第9章 查找 - 斐波那契查找
——《數據結構》-嚴蔚敏.吳偉民版
源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明
課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯
習題集全解析 鏈接☛☛☛ 《數據結構題集》習題解析合輯
本源碼引入的文件 鏈接☛ Base.c
相關測試數據下載 鏈接☛ 數據包
文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲09 查找\03 FibonacciSearch
斐波那契查找類似於二分查找,不同的是二分查找每次查找時會在查找范圍上限的中點處比較,而斐波那契查找則在查找范圍上限的一個斐波那契分割點上進行查找。
斐波那契查找就是在二分查找的基礎上根據斐波那契數列進行分割的。在斐波那契數列找一個等於略大於查找表中元素個數的數F[n],將原查找表擴展為長度為F[n](如果要補充元素,則補充重復最後一個元素,直到滿足F[n]個元素),完成後進行斐波那契分割,即F[n]個元素分割為前半部分F[n-1]個元素,後半部分F[n-2]個元素,找出要查找的元素在那一部分並遞歸,直到找到。
斐波那契查找的優點是在確定下一個比對元素時,僅用加、減就可以計算得出,比二分查找的除法要節省時間。