以查阅英文字典为例,单词“Data”应大致位于前1/5和1/4之间,而“Structure”则应大致位于后1/5和1/4之间。对元素的分布规律掌握得越准确,这种加速效果也就加可观。
此类方法的原理大同小异,无非是利用向量元素的分布规律,根据目标数值,通过插值估计出其大致所对应的秩,从而迅速缩小搜索范围,故称作插值查找(interpolation search)。
a)若有序向量中的元素均独立且等概率地取自某一数值区间,试证明它们应大致按线性规律分布;
b)针对此类有序向量,如何通过插值来估计待查找元素的秩?试给出具体的计算公式;
c)试证明:对于此类向量,每经一次插值和比较,待搜索区间的宽度大致以平方根的速度递减;
d)试证明:对于长度为n的此类向量,插值查找的期望运行时间为o(loglogn);
A.能力:你能完成这个任务吗?你的经验、知识、技能够用吗?
B.效果:交上来的结果,是我想要的那样吗?不会需要返工吧?
C.现状:交给你的事儿现在怎么样了?有没有什么问题啊?
D.方向:方向正确吗?是你计划的那样吗?