如何编写斐波那契查找算法完整C代码
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章将为大家详细讲解有关如何编写斐波那契查找算法完整C代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/* 斐波那契查找法 */#include
千家信息网最后更新 2025年11月16日如何编写斐波那契查找算法完整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安全错误
数据库的锁怎样保障安全
朝阳区智能网络技术服务推荐咨询
开平区媒体网络技术售后服务
网络安全工作改不了指
摩尔庄园第一服务器
网络安全应急预案管理办法
问道开服必须要用云服务器吗
网络安全攻防演习培训
局域网环境网络安全
江北敏捷软件开发管理
游戏软件开发区小吃街
南宁java软件开发
数据库操作命令edit
张家口软件开发大概费用
庄主服务器
安徽嘻哈网络技术有限公司
游戏服务器开发地图大小
lol选择完英雄就卡在服务器
怎么跟政府对接网络安全项目
软件开发商标注册第几类
数据库系统概念考试题
oracle数据库慢
数据库子窗体怎么删除
有域名和服务器怎么建会员制网站
服务器万兆网卡最高温度
平顶山app软件开发张亚超
服务器管理员使用情况
软件开发技术多久学会
工信部国产数据库白皮书
软件开发中使用的技术标准
安庆工程管理软件开发公司