在实际应用中,有序向量内的元素不仅单调排列,而且往往还服从某种概率分布,若能利用这一性质,则可以更快地完成查询。

以查阅英文字典为例,单词“Data”应大致位于前1/5和1/4之间,而“Structure”则应大致位于后1/5和1/4之间。对元素的分布规律掌握得越准确,这种加速效果也就加可观。 此类方法的原理大同小异,无非是利用向量元素的分布规律,根据目标数值,通过插值估计出其大致所对应的秩,从而迅速缩小搜索范围,故称作插值查找(interpolation search)。 a)若有序向量中的元素均独立且等概率地取自某一数值区间,试证明它们应大致按线性规律分布; b)针对此类有序向量,如何通过插值来估计待查找元素的秩?试给出具体的计算公式; c)试证明:对于此类向量,每经一次插值和比较,待搜索区间的宽度大致以平方根的速度递减; d)试证明:对于长度为n的此类向量,插值查找的期望运行时间为o(loglogn);

时间:2024-04-03 12:01:22

相似题目