package com.algorithms.search.binary;

/**
 * Algorithms 4th exercise 1.4.22 Fibonacci Search Implement In Ascending Order Array With Distinct Numbers
 * 算法第4版 习题 1.4.22 升序排列的无重复数字数组中，基于斐波那契的二分搜索实现
 */
public class FibonacciSearch {

    /**
     * 基于斐波那契的二分搜索实现
     * @param data 数据集
     * @param num 查找数值
     * @return (-1:查找数值不存在于数据集;其他:数值所在数据集的下标序号)
     */
    public static int search(int[] data, int num) {

        return -1;
    }
}

@@ -421,24 +421,396 @@
 int num) %7B%0D%0A
+        int k1 = 1;%0D%0A        int k2 = 2;%0D%0A        while(k2 %3C data.length) %7B%0D%0A            int k0 = k2 - k1;%0D%0A            if (data%5Bk0%5D == num) %7B%0D%0A                return k1;%0D%0A%0D%0A            %7D  else if (data%5Bk0%5D %3E num) %7B%0D%0A                int tmp = k2;%0D%0A                k2 = k1 + k2;%0D%0A                k1 = tmp;%0D%0A%0D%0A            %7D else %7B%0D%0A                %0D%0A            %7D%0D%0A        %7D
 %0D%0A        re

update fibonacci