01舍伍德算法
舍伍德算法是概率算法的一种,该文在比较线性表的顺序存储与链式存储的特点之后,提出了一种较优的数据结构——用数组模拟链表。理论上证明了采用舍伍德算法进行查找运算的时间复杂度为0(n^1/2),并在计算机上给出相应数据的模拟。
设A是一个确定性算法,当它的输入实例为x时所需的计算时间记为tA(x)。设Xn是算法A的输入规模 为n的实例的全体,则当问题的输入规模为n时,算法A所需的平均时间为
这显然不能排除存在x∈Xn使得 tA(x)>>tA(n)的可能性。
希望获得一个概率算法B,使得对问题的输入规模为n的每一个实例均有
这就是舍伍德算法设计的基本思想。当s(n)与tA(n)相比可忽略时,舍伍德算法可获得很好的平均性能。
02跳跃表
舍伍德算法的