如何编写斐波那契查找算法完整C代码
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章将为大家详细讲解有关如何编写斐波那契查找算法完整C代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/* 斐波那契查找法 */#include
千家信息网最后更新 2024年11月20日如何编写斐波那契查找算法完整C代码
这篇文章将为大家详细讲解有关如何编写斐波那契查找算法完整C代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
/* 斐波那契查找法 */#include#include int Fib( int k ){ if( 1 == k || 2 == k ) return 1; else return Fib(k-1)+Fib(k-2);}int FibSearch( int *a, int n, int key ){ int k = 1; int nFib; int *b; int low, mid, high; while( Fib(k) < n ) //找到Fib[k] k++; nFib = Fib(k); b = (int *)realloc( a, sizeof(int)*nFib ); //扩充数组的大小 for( int i=n; i key ) { k = k - 1; high = mid; } if( b[mid] < key ) { k = k-2; low = mid+1; } if( b[mid] == key ) { if( mid >= n-1 && mid <= nFib ) return n-1; return mid; } mid = low + Fib(k-1)-1; } if( low == key ) return low; return -1;}int main(){ int n; printf("请输入目标数组的大小:\n"); scanf("%d", &n); int *a = (int *)malloc(sizeof(int)*n); printf("请输入%d个有序整数:\n", n); for( int i=0; i = 0 ) printf("位置%d处查找成功!\n", search); else printf("未查找到%d!\n", key); return 0;}
本代码中斐波那契查找的核心是: 1)当key=a[mid]时,查找成功; 2)当keya[mid]时,新的查找范围是第mid+1个到第high个,此时范围个数为F[k-2] 个。
4) 如果匹配到最后两个元素,直接让这两个元素与关键字作比较。
关于如何编写斐波那契查找算法完整C代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
代码
元素
数组
算法
成功
两个
内容
大小
文章
更多
知识
篇文章
范围
输入
不错
有序
个数
位置
关键
关键字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海发现网络安全重大事件
政府部门软件开发问题
网络安全包含
引力互联网科技
网络安全与基础pdf
秦淮数据库谁的
广东家用软件开发收费
国家网络安全中心是什么单位
步步高服务器不响应
truenas能搭建云服务器
JS连接数据库叫什么技术
怎么降低网络安全系数
西安ai教育系统开发软件开发
网络安全违禁品
甲基化数据库有哪些
玉田电子网络技术创造辉煌
本地数据库线上对接安全性
甘肃跨境电商数据库
转回原来的服务器
财务管理系统数据库
服务器工作组
软件开发浙江省好不好找工作
别以为网络安全离我们很远
虚拟服务器和虚拟客户端
剑三服务器查询
如何修改我的世界服务器图片
奉贤区创新软件开发怎么样
网络安全框架制作
软件开发对面试者的要求
图书馆系统数据库设计论文