如何编写斐波那契查找算法完整C代码
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关如何编写斐波那契查找算法完整C代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/* 斐波那契查找法 */#include
千家信息网最后更新 2025年02月01日如何编写斐波那契查找算法完整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安全错误
数据库的锁怎样保障安全
服务器密码管理流程
ustats数据库
山东省浪潮存储服务器供应商
成都看客网络技术招聘
重视网络安全英语
u8数据库恢复出厂
泰安数据库每股收益
做金融软件开发的必备知识
视频管理服务器参数设置
软件开发投入资助
数据库基本命令
软件开发招聘的骗子
此网站安全证书不能连接服务器
武汉达梦数据库股份有限公司工作
大话西游2服务器时间查询
全球互联网网络安全大会
电脑做服务器配置
武汉云服务器节点
成都办公系统软件开发公司
数据库中约束性别的表达式
微信开发 数据库
网络安全属于工学
玄武区网络技术服务排名靠前
道客巴巴北京网络技术有限公司
软件开发过程主要文档
自己架设vpn服务器
彩虹六号连不上服务器被禁赛
千人千面互联网科技有限公司
宜兴软件开发哪个公司靠谱
广东惠普服务器虚拟化建设云主机