c++有序表查找的方法是什么
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"c++有序表查找的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.折半查
千家信息网最后更新 2025年12月03日c++有序表查找的方法是什么
本篇内容介绍了"c++有序表查找的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1.折半查找法-binary search
如果线性表在排序是有序的 这种情况下我们才用顺序存储。
//折半查找法int BinarySearch(int* a,int n, int key){ int low=0; int high=n-1; while(low<=high) { int mid = (low+high)/2; if(keya[mid]) { low = mid+1; } else return mid; } return -1;//表示失败}折半查找法类似于把静态有序查找表分成了两颗子树,时间复杂度为O(log N),当我们对顺序数据已经排序好,并且没有频繁插入删除时用折半查找法。
2.插值查找法
我们在字典中查找apple或者zoo一定不是按照折半查找法这样 会直接从前面或者后面查找,
不一定非要mid=(low+high)/2;
mid=(low+high)/2=low+(high-low)/2;
mid = low+(high-low)((key-a[low])/(a[high]-a[low]) )
//插值查找法int BinarySearch(int* a, int n, int key){ int low=0; int high = n-1; while(low<=high) { int mid = low+(low+high)*((key-a[low])/(a[high]-a[low])); if(keya[mid]) { low=mid+1; } else { return mid; } } return -1;}此时时间复杂度还是O(longN),当关键字分部比较均匀时候可用此法。
3.斐波那契查找 O(log N)
//斐波那契数列void Fibonacci(){ int F[100]; F[0]=0; F[1]=1; for(int i=2;i<=100;i++) { F[i]=F[i-1]+F[i-2]; }}int Fibonacci_Search(int* a, int n, int key){ int k=0; int low=0; int high=n-1; while(n>F[k]-1)//计算n位于斐波那契数列的位置 { k++; } for(int i=n-1;ia[mid]) { low = mid+1; k=k-2; } else { if(mid<=n-1) { return mid; } else { return -1;//失败 } } }} 应当说 当顺序存储无序时 采用顺序查找法
当顺序存储已经排序好 我们可以采用折半查找法mid=(low+high)/2;
插值查找法mid=low+(high-low)*((key-a[low])/(a[high]-a[low]));
斐波那契法mid=low+F[k-1]=1;
以上三中算法无非就是mid 选取的不一样而已 不过在mid 选取时候也有加减乘除计算的。
"c++有序表查找的方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
顺序
有序
数列
存储
排序
插值
方法
c++
复杂
内容
复杂度
情况
时候
时间
更多
知识
实用
频繁
加减乘除
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
无锡编程软件开发公司
长沙公安网络安全检查举报网
软件开发几个伙伴接活页
网络安全宣传视频爱奇艺
软件开发语言工具
前程无忧服务器挂了吗
萤石云服务器地址
m全球五大软件开发教父
数据库添加一列有下划线
从事网络安全累吗
陕西销售软件开发多少钱
高青客户管理软件开发
网络安全的方法
联想服务器关机快捷键
个人网络安全自查工作
计算机网络技术职业未来计划
邮件服务器不需要域名
c语言vf和数据库的区别
互联网科技发展带来的便利
表格数据存到数据库的数据库是啥
万方数据库与知网查重差别
共享网络安全共建网络文明黑板报
服务器3dmax2016
电商用什么服务器
会江科技互联网产业
雁塔区软件开发培训机构
中国企业网络安全相关新闻事例
游侠网服务器
网络技术在酒店中应用
数据库表查询第一列