时间复杂度为:O(logn)
差值查找:根据要查找的关键字key与查找表中最大最小记录的关键字比较后的查找方法,
核心是公式
(key - a[low])/(a[high] - a[low])
对于表长较大,而关键字分布比较均匀的查找表查找比折半查找好的多。
具体实现:
int bsearchWithoutRecursion(intarray[],int low,int high,int target)
{
while(low<=high)
{
int mid = low + (hith - low) * (key - a[low)/(a[high] - a[low]); //折半查找中为 int mid=(low+high)/2;
if(array[mid]>target)
high=mid-1;
elseif(array[mid]
插值查找
最新推荐文章于 2022-03-27 17:11:31 发布