c++有序表查找的方法是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"c++有序表查找的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.折半查
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
广东万易互联网科技有限公司惠州分公司
伟宏互联网科技
蓝思科技飞鸽互联网
互联网科技社
美国互联网科技
互联网科技革命
浩特互联网科技
九亚互联网科技
宜安科技 互联网金融
远拓互联网科技
狮子座互联网科技培训
海南购全球互联网科技
深圳前海聚择互联网科技有限公司
福州新华互联网科技学校 知乎
互联网企业和科技型企业
崇明区互联网教育科技售后服务
互联网科技年终奖
互联网科技融合创新
昆明中奇联合互联网科技
互联网金融运营模式中的金融科技
互联网高科技
互联网科技深圳
唐信互联网科技 大连
镁科技互联网资讯平台
互联网大会黑科技排名
宁夏众和广鑫互联网科技有限公司
互联网科技大奖都有哪些公司
互联网科技和信息
吉林省码上互联网科技电话
数字互联网科技有限公司