随机化算法(1)

本文介绍了舍伍德算法,一种概率算法,其时间复杂度为O(n^1/2),并讨论了用数组模拟链表的数据结构。接着,文章阐述了跳跃表的概念,它是基于有序链表的高效查找数据结构,平均查找时间复杂度为O(logN)。跳跃表通过增设附加指针来提高搜索性能,其插入、删除操作平均时间复杂度也为O(logN)。
摘要由CSDN通过智能技术生成

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跳跃表

       舍伍德算法的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值