1.插值查找算法原理介绍
1>.插值查找,有序表的一种查找方式.插值查找是根据查找关键字(要查找的目标元素)与查找表中最大最小记录关键字比较后的查找方法.插值查找基于二分查找,不同的是将查找点mid的选择改进为自适应选择,提高查找效率;
2>.折半(二分)查找算法求mid索引的公式:
low表示每次参与查找的列表的起始元素的下标,high表示每次参与查找的列表的终止元素的下标;
3>.插值查找算法求mid索引的公式:
-
low表示每次参与查找的列表的起始元素的下标,high表示每次参与查找的列表的终止元素的下标,key就是要查找的目标元素,a表示原始列表;
-
可以得到公式:
-
int mid = low + (high - low) * (key - arr[low]) / (arr[high] - arr[low]) ;