本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
是二分查找的一种提升算法,通过运用黄金比例的概念在数列中选择查找点进行查找,提高查找效率。同样地,斐波那契查找也属于一种有序查找算法。
2.原理分析
斐波那契查找算法与二分法查找基本类似。不同的是二分法查找是折半查找,而斐波那契查找算法利用斐波那契数列的黄金分割特性,利用黄金分割点查找。即mid = left + f(k-1) - 1(f代表斐波那契数列)。
3.实例
package com.cn.dataStruct; /** * 用Java实现斐波那契数列 */ public class Febonacci { /** * 用递归实现斐波那契数列 * @param i 需要得到的第i项 * @return 第i项内容 */ public static int febonaccis(int i){ if(i == 1 || i == 2){ return 1; }else{ return febonaccis(i-1) + febonaccis(i - 2); } } public static void main(String[] args) { System.out.println( febonaccis(6) ); } }
以上就是java中斐波那契查找的基本介绍,鉴于大家之前已经了解过二分查找了,想必这种查找方法也不在话下,对于黄金分割特性有所了解后,很容易就能实现斐波那契查找。更多Java学习指路: