一种桶式链表结构的实现方法

文档序号:6627687阅读:379来源:国知局
一种桶式链表结构的实现方法
【专利摘要】本发明提供一种桶式链表结构的实现方法,其特点是链表以桶式结构为单位组织节点,节点之间使用数字索引指向上一个和下一个节点位置,链表可由多个桶式结构串联组成。在添加节点时,查找桶式结构中空闲位置,若桶满则创建一个新桶并存入数据。删除节点时将对应桶位置设置为空闲即可。相比较传统的链表结构,桶式链表以桶式为单位进行管理,不再以指针的方式进行双向连接,节点的添加和删除操作都非常快捷,在遍历链表节点时,由于节点之间是内存连续的,不仅提高了内存缓存命中率,还显著加快了软件系统的运行效率。
【专利说明】一种桶式链表结构的实现方法

【技术领域】
[0001]本发明涉及一种桶式链表结构的实现方法,具体涉及到链表结构的创建,节点的添加和删除方法。

【背景技术】
[0002]链表是一种通过指针连接各个节点元素的数据结构,链表进行添加节点和删除节点时,只需要修改前一个和后一个节点的指针即可完成添加和删除操作,相比较数组结构省去了大量的元素移动操作。
[0003]由于链表的节点是单个单位组织的,当链表进行大量的节点操作时,频繁的节点添加和删除操作导致了性能的急剧下降,严重影响程序的运行效率。


【发明内容】

[0004]本发明为了解决现有链表在添加节点和删除节点时存在的效率低下问题,提供了一种新型的桶式链表结构实现方法,通过引入桶式结构,将桶内节点以数字索引的方式相互连接,加速了节点的添加、删除和访问的速度,提升了程序的运行效率。特别是在高性能大数据运算领域,通过本发明提供的方法效率提升尤其明显。
[0005]本发明的具体实现方案如下:
一种桶式链表结构的实现及方法,其特征是通过构造桶式结构组织节点,桶内各个节点使用前向索引和后向索引与其他节点相互连接,所述的桶式结构是由一个固定大小的数组组成,数组中的元素由节点数据、前向索引和后向索引组成,前向索引指向上一个节点的位置,后向索引指向下一个节点的位置。
[0006]所述前向索引是一个位置索引,指向了当前节点的上一个节点在桶内的位置,所述后向索引与前身索引相反,指向了当前节点的下一个节点在桶内的位置。
[0007]在添加节点时,查找现有桶式结构是否有空闲的位置,若无空闲位置则创建一个新桶,在空闲位置存入数据,并设置节点的前向索引和后向索引,以及前后节点的索引。
[0008]在删除节点时,首先调整当前节点的前后节点的位置索引,再将此节点位置设置为空闲状态,并检查当前桶式结构是为全部为空闲,若是则删除此桶式结构。
[0009]本发明的有益效果是:通过引入桶式结构,高效的解决了链表在添加和删除节点时的效率低下问题,得益于桶式结构的组织方式,在遍历链表时,缓存命中率得到提高,从而显著加快了链表的运行效率。

【专利附图】

【附图说明】
[0010]图1为本发明桶式链表结构示意图。

【具体实施方式】
[0011]本发明的特征和优点将通过以下实例示意图进行阐述,示意图中的展示实例仅是本发明技术方案的典型范例,凡采取等同替换或等效变换而形成的技术方案,均涉及本发明要求的保护范围之内。
[0012]图1为本发明中桶式链表结构示意图,在本示意图中链表由三个桶式结构串联组成,各个桶式结构分别有5个节点空间,各个节点由前向索引、节点数据和后向索引组成。桶I中第3个位置(从O开始)由于是空闲,节点3的后向索引指向了第4个位置。第4个节点的后向索弓丨,指向了桶2的第O个节点,此节点在链表中总的位置是5。从桶2中各节点的前向索引和后向索引可知,第2、3、4节点的顺序位置相反。
[0013]链表中的头节点和尾节点标示了链表的开始和结束的节点位置。
[0014]空闲位置的前向索引和后向索引都标记为-1。
[0015]首先,第一次添加节点时,创建一个新的桶式结构,桶内各个节点位置都标记为空闲,将数据存入第一个空闲位置,并设置前向索引和后向索引为-1,将链表的头节点和尾节点指向此位置。当下次添加节点时,查找现有的桶式结构得到空闲位置,若无空闲位置,则创建新的桶式结构。
[0016]其次,当删除一个节点时,得到桶式结构的位置,将数据清空,并调整前后节点的索引。然后判断当前桶是否全部位置为空闲,若是则删除此桶式结构。
[0017]最后,在遍历链表时,从头节点或者尾节点开始,通过前向索引或者后向索引调整节点位置,进行遍历。
[0018]以上所述仅为本发明的具体实例实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
【权利要求】
1.一种桶式链表结构的实现方法,其特征是通过构造桶式结构组织节点,桶内各个节点使用前向索引和后向索引与其他节点相互连接,所述的桶式结构是由一个固定大小的数组组成,数组中的元素由节点数据、前向索引和后向索引组成,前向索引指向上一个节点的位置,后向索引指向下一个节点的位置。
2.根据权利要求1所述的桶式链表结构的实现方法,其特征是所述前向索引是一个位置索引,指向了当前节点的上一个节点在桶内的位置,所述后向索引与前身索引相反,指向了当前节点的下一个节点在桶内的位置。
【文档编号】G06F17/30GK104199966SQ201410484379
【公开日】2014年12月10日 申请日期:2014年9月22日 优先权日:2014年9月22日
【发明者】余欣 申请人:杭州电魂网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1