【技术实现步骤摘要】
一种优先级队列的数据存取方法
[0001]本专利技术涉及数据结构的数据存取相关领域,具体为一种优先级队列的数据存取方法。
技术介绍
[0002]现有的计算机使用过程中,计算机程序通过构建数据结构存取对应的数据,不同的数据结构具有不同的功能。队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。而优先级队列是一种带元素优先级的队列,增加元素的时候按优先级把元素放置于合适的位置,删除元素的时候从队列头删除。
[0003]优先级队列通常采用大顶堆或小顶堆实现,这种数据结构在出队删除的时候面临堆调整,且要统计相同优先级的元素个数,需要遍历整个数据集。堆数据结构不利于元素数远大于优先级个数的场景,在一些按优先级(优先级较少)处理任务(任务数很多)的应用中,删除和统计数据个数的性能会受影响。因此现提供一种优先级队列的数据存取方法。
技术实现思路
[0004]本专利技术的目的在于提供一种优先级队列的数据存取方法,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方 ...
【技术保护点】
【技术特征摘要】
1.一种优先级队列的数据存取方法,其特征在于,包括以下步骤:步骤S1、构建跳跃列表,跳跃列表由设置多层稀疏子序列的链表,且每层稀疏子序列的链表由多个带箭头框表示,跳跃列表最底层设置有表示优先级的数字框;步骤S2、对步骤S1中稀疏子序列的链表插入优先级元素e,其中,需确认前后索引点,具体为找到恰好大于元素e的节点,且该节点的后向节点都比元素e大,还有刚好小于该元素的节点,且该节点的前向节点都比元素e小,元素e直接插入前后索引点中;步骤S3、在需要查找优先级元素e时,算法首先在最稀疏的稀疏子序列的链表层次进行搜索,直至需要查找的元素在该层两个相邻的元素中间,这时,算法将跳转到下一个层次,重复刚才的搜索,直到找到需要查找的优先级元素e为止;步骤S4、在需要删除优先级元素e时,优先级元素e在索引中出现,先删除原始链表中的结点,再删除索引中的节点。2.根据权利要求1所述的一种优先级队列的数据存取方法,其特征在于:所述步骤S1的多层稀疏子序列的链表中的每一层链表中的元素是前一层链表元素的子集。3.根据权利要求1所述的一种优先级队列的数据存取方法,其特征在于:所述步骤S1中每层的稀疏子序列的链表的采用双向链表,保存头节点和末尾节点,头节点和末节点便于获知该跳表数据范围,头节点为该层最小的节点,尾节...
【专利技术属性】
技术研发人员:赵刚,
申请(专利权)人:上海赛可出行科技服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。