二分查找及插值查找

二分查找和插值查找都是基于减而治之的原理

1)细节:二分查找的范围的下标:lo和hi代表[lo,hi),因此,选择mid的时候,两部分是[lo,mid),和[mid+1,hi);

 插值查找的含义类似于在字典中确定一个字母的范围,比如选择b的话,会在较前的页码处查找,这里,字母相当于数组的下标, 而页码相当于要查找的元素;

2)效率:查找对数值的规模进行折半,因此二分查找的时间复杂度为logn,或者说是共有n个十进制位的的数

       插值查找在每次查找后,数的规模变为根号n, 可以看作是有logn位的二进制数,每次规模减小为根号n,则每次二进制位减小为0.5logn,则时间复杂度为loglogn

3)关系:二者的思想其实是一致的,只不过是作为查找轴点的选择方法不同;

 插值查找需要数据的分布在一定范围内均匀,否则容易较小数据受到扰动;

 插值查找更适合于大规模的查找。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值