前言:
随机化算法这一章,先介绍了如何产生随机数,不过这个产生的代码已经完全给出来了,我也没有什么编码的必要了,还有一个是素性测试,利用了费马定理,可惜我看了好多遍都没有完全看懂代码和定理的联系,暂且也不再这里介绍了,今天只说说跳跃表的实现。
我的github:
我实现的代码全部贴在我的github中,欢迎大家去参观。
https://github.com/YinWenAtBIT
介绍:
一、跳跃表:
一、定义:
Skip List是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表(因此得名)。所有操作都以对数随机化的时间进行。Skip List可以很好解决有序链表查找特定值的困难。
二、跳跃表的存储方式:
如上,跳跃表中,每个节点的级别为k,代表其有k个指针,相同级别的指针指向下一个相同的级别的节点。
因此,在头部,需要保存一个有最大ji