[发明专利]一种多层链接分离的skiplist构造方法及系统在审
申请号: | 201611236173.9 | 申请日: | 2016-12-28 |
公开(公告)号: | CN106649790A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 曹强;梅飞;王爽 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/883 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多层 链接 分离 skiplist 构造 方法 系统 | ||
1.一种多层链接分离的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。
2.根据权利要求1所述的方法,其特征在于,在步骤(1)之前,所述方法还包括:
设置概率因子p和skiplist节点所能达到的高度阀值;分配skiplist对象,skiplist具有当前高度和头结点两个属性,并初始化头结点,以高度阀值作为头节点的高度,分配前进链接指针数组,指针数组的每个元素指向空指针。
3.一种多层链接分离的skiplist构造系统,其特征在于,包括:
查询模块,用于单个元素的查询,其包括的子模块为:
设置模块,用于设置当前扫描的层次为skiplist当前的最大高度,初始化计步器值为0,将当前所处的位置记为扫描点,将当前扫描的层次记为扫描层,将当前扫描的单链表记为扫描链;
第一扫描模块,用于从当前扫描的单链表开始按前进指针的方向扫描,判断待插入的目标元素与扫描点处的元素的大小关系,若扫描点处的元素与目标元素相等,则返回,结束本次单个元素的插入操作,继续下一个元素的插入操作,若扫描点处的元素小于目标元素,则进入所述第二扫描模块,若扫描点处的元素大于目标元素,则进入所述第三扫描模块;
第二扫描模块,用于在扫描点处的元素小于目标元素时,将计步器增加1,并判断计步器中的计数值是否达到预设值,其中,预设值为概率因子p的倒数,若计步器的计数值达到预设值,则将扫描点处的节点高度增加1,即将该扫描点处的节点链接到扫描层的上面一层的链表中,同时计步器置0,扫描点向前移动,若计步器的计数值没有达到预设值,则返回所述第一扫描模块;
第三扫描模块,用于在扫描点处的元素大于目标元素时,判断当前扫描的层次是否为最底层,若是最底层,则返回扫描点的后退一个位置,并记为插入点,若不是最底层,则将扫描点后退一步,扫描层下移一层,从后退之后的扫描点处的节点开始,转至所述第一扫描模块;
元素插入模块,用于在skiplist中不存在目标元素时,在最底层的有序单链表中将该目标元素插入到所述查询模块返回的插入点之后,且将节点高度设为1。
4.根据权利要求3所述的系统,其特征在于,所述系统还包括:
初始化模块,用于设置概率因子p和skiplist节点所能达到的高度阀值;分配skiplist对象,skiplist具有当前高度和头结点两个属性,并初始化头结点,以高度阀值作为头节点的高度,分配前进链接指针数组,指针数组的每个元素指向空指针。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611236173.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:餐桌(61805)
- 下一篇:床头柜(61805‑1)