基于C语言的斐波那契数与二分法的递归与非递归算法分析
概述
斐波那契搜索就是在二分查找的基础上根据斐波那契数列进行分割的。在斐波那契数列找一个等于略大于查找表中元素个数的数F[n],将原查找表扩展为长度为Fn,完成后进行斐波那契分割,即F[n]个元素分割为前半部分F[n-1]个元素,后半部分F[n-2]个元素,找出要查找的元素在那一部分并递归,直到找到。
斐波那契生成函数
int *init_fibonacci(int length) {
int *__save = malloc(length * sizeof(int));
__save[0] = 1;
__save[1] = 1;
if (length >= 3) {
for (int i = 2; i < length; ++i) {
__save[i] = __save[i - 1] + __save[i - 2];
}
}
return __save; }