插值查找
来源:互联网 发布:中国现代汉语词典软件 编辑:程序博客网 时间:2024/05/16 01:43
原文来源:数据结构--向量--插值查找 - Codeman的专栏 - 博客频道 - CSDN.NET
转载已获得原作者许可
我们来看一下插值查找。
本页内容
1.插值查找原理
2.代码实现
3.总结评价
1.插值查找原理
插值查找的前提是有序数列元素的值是成线性增长的。对于大多数有序数列来说,这前提是可以成立的。我们不妨假设它就是成立的,那样,当我们知道一个要查找值的大小后。就可以根据数列线性增长的性质,求出要查找的值在数列中的大概位置。比如说在数列A[lo,hi)中查找e。我们设e的下标为mi。由于数列线性增长,我们不难得到这个等式:
进而得出:
我们可求出mi的值,以它为轴点,可以极大的提高查找的收敛速度。说到这里,大家也都明白了,其实插值查找就是更准的二分查找而已。
2.代码实现
运行结果:
3.总体评价
插值查找比二分查找有所改进,但是其效率提高的并不明显(除非所查找的数列特别庞大,它的用处才能显现)。算法中引用了乘法和除法,增加了额外的消耗。如果所需查找的数列不大,由于每次深入都要进行乘除操作,用此算法可能得不偿失。所以,在实际应用中,该算法常常与二分查找算法联合使用,来处理较大的数据:用插值查找将数据缩小到一定范围,再用二分查找完成查询。
想要学习更多关于向量的知识,请点击!!
0 0
- 查找-插值查找
- 查找--插值查找
- 查找-插值查找
- 插值查找
- 插值查找算法
- 插值查找算法
- 插值查找算法
- 插值查找算法
- 插值查找详解
- 插值查找法
- 插值查找
- 插值查找
- 插值查找
- 二分查找 插值查找
- 插值查找(按比例查找)
- 折半查找&&插值查找
- 数据结构-- 向量--插值查找
- (23)插值查找
- Java中Servlet中cookie类源码
- java中的Set、List、Map的区别与用法
- Unrecognized Windows Sockets error: 0: JVM_Bind异常
- javascript原型对象与原型链
- leetoce(43).169. Majority Element
- 插值查找
- [分享] 揭开美国顶尖生物医学实验室成功的法宝--转
- websphere发布的工程迁移到tomcat容器下(绿色方式)
- js中typeof用法详细介绍
- [李景山php]每天TP5-20161229|thinkphp5-Controller.php
- 随心记
- 润乾报表实现当前数据行变色
- Hash冲突的一点看法
- Mapper的XML配置文件之properties