以查阅英文字典为例,单词“Data”应大致位于前1/5和1/4之间,而“Structure”则应大致位于后1/5和1/4之间。对元素的分布规律掌握得越准确,这种加速效果也就加可观。
此类方法的原理大同小异,无非是利用向量元素的分布规律,根据目标数值,通过插值估计出其大致所对应的秩,从而迅速缩小搜索范围,故称作插值查找(interpolation search)。
a)若有序向量中的元素均独立且等概率地取自某一数值区间,试证明它们应大致按线性规律分布;
b)针对此类有序向量,如何通过插值来估计待查找元素的秩?试给出具体的计算公式;
c)试证明:对于此类向量,每经一次插值和比较,待搜索区间的宽度大致以平方根的速度递减;
d)试证明:对于长度为n的此类向量,插值查找的期望运行时间为o(loglogn);
A.通过地层层序、分界线、产状及构造线的地下和地表相关性分析
B.不良地质体与隧道几何参数的相关性分析
C.同类隧道的工程地质条件类比分析
D.临近不良地质体的前兆特征分析
教材81页代码3.20中的List::selectionSort()算法,通过selectMax()在前缀子序列中定位的最大元素max,有可能恰好就是tail的前驱——自然,此时“二者”无需交换。针对这一“问题”,你可能会考虑做些“优化”,以期避免上述不必要的交换,比如将
a)以序列(1980,1981,1982,...,2011,2012;0,1,2,...,1978,1979)为例,这种情况共发生多少次?
b)试证明,在各元素等概率独立分布的情况下,这种情况发生的概率仅为1nn/n→0——也就是说,就渐进意义而言,上述“优化”得不偿失。
A.塌方预兆明显,局部坍塌、洞室变形,瓦斯突出、涌水等临兆特征明显
B.量测位移变化率超限且速率不断上升、当周边位移或拱顶下沉速率大于10.0mm/d时
C.超前地质预报中(含地质观察、短距离预报探测)发现:存在重大不良地质体或涌水、大坍塌、严重威胁施工安全。存在洞室变形,瓦斯突出、涌水等临兆特征明显
D.根据超前地质长期预报推测:该隧道存在重大不良地质体或涌水、大坍塌等可能及存在洞室变形,瓦斯突出、涌水等可能
a)试按照以上思路,实现一个排序算法:
b)你的这一算法,时间和空间复杂度各是多少?
c)改进你的算法,使之能够在O(n+M)时间内对来自[0,M)范围内的n个整数进行排序,且使用的辅助空间不超过O(M)。