[发明专利]一种多层链接分离的skiplist构造方法及系统在审
申请号: | 201611236173.9 | 申请日: | 2016-12-28 |
公开(公告)号: | CN106649790A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 曹强;梅飞;王爽 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/883 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种多层链接分离的skiplist构造方法及系统,其中方法的实现包括在查找元素时,按固定的跨度调整节点高度,完善跳跃表数据结构,然后将元素封装成节点插入到跳跃表的底层有序链表中。将插入操作时的多层有序链表链接开销分摊到查找操作中各个有序单链表插入链接,相比随机构造方案,仅在各层查找过程中对符合跨度要求的节点增加在单链表的链接操作,单次链接操作的时间开销为O(1),而插入操作只需将元素插入到底层有序单链表中,降低了多层链表间的耦合关系,提高跳跃表的并发插入性能;此外,相比确定性构造方案,插入元素后无需为了完善跳跃表而重构整个数据结构,从而可以避免重构导致的跳跃表不可用的情形发生。 | ||
搜索关键词: | 一种 多层 链接 分离 skiplist 构造 方法 系统 | ||
【主权项】:
一种多层链接分离的skiplist构造方法,其特征在于,包括:(1)单个元素的查询,其子步骤为:(1‑1)设置当前扫描的层次为skiplist当前的最大高度,初始化计步器值为0,将当前所处的位置记为扫描点,将当前扫描的层次记为扫描层,将当前扫描的单链表记为扫描链;(1‑2)从当前扫描的单链表开始按前进指针的方向扫描,判断待插入的目标元素与扫描点处的元素的大小关系,若扫描点处的元素与目标元素相等,则返回,结束本次单个元素的插入操作,继续下一个元素的插入操作,若扫描点处的元素小于目标元素,则执行步骤(1‑3),若扫描点处的元素大于目标元素,则执行步骤(1‑4);(1‑3)计步器增加1,并判断计步器中的计数值是否达到预设值,其中,预设值为概率因子p的倒数,若计步器的计数值达到预设值,则将扫描点处的节点高度增加1,即将该扫描点处的节点链接到扫描层的上面一层的链表中,同时计步器置0,扫描点向前移动,若计步器的计数值没有达到预设值,则执行步骤(1‑2);(1‑4)判断当前扫描的层次是否为最底层,若是最底层,则返回扫描点的后退一个位置,并记为插入点,若不是最底层,则将扫描点后退一步,扫描层下移一层,从后退之后的扫描点处的节点开始,转至执行步骤(1‑2);(2)单个元素插入:若skiplist中不存在目标元素,则在最底层的有序单链表中将该目标元素插入到步骤(1)返回的插入点之后,且将节点高度设为1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611236173.9/,转载请声明来源钻瓜专利网。
- 上一篇:餐桌(61805)
- 下一篇:床头柜(61805‑1)