美文网首页
数据结构-SkipList

数据结构-SkipList

作者: xuchao0103 | 来源:发表于2019-04-10 19:30 被阅读0次

    SkipList介绍

    1989年发布,随机性链表数据结构。

    • 平均空间复杂度:O(n), 最差空间复杂度O(nlogn)
    • 平均时间复杂度:O(logn), 最差时间复杂度O(n), 查找,添加,删除

    SkipList特性

    1. 与平衡树相比空间占用会大,但时间复杂度相同,在内存如此便宜的阶段差异不大。
    2. SkipList实现相对简单,相比平衡树维护平衡方式。
    3. 区间查找方式要比平衡树更高效率。(指针大于递归)

    SkipList应用

    1. Redis中SortSet数据结构中有SkipList身影。

    SkipList结构

    type Node struct {
      Forward []*Node  
    
      Next *Node
      Entry  *Entry
    }
    
    type SkipList struct {
      Head *Node
      maxLevel uint    //最大级别
    
      Lenght uint  //链表长度
      randP  uint  //随机种子
    }
    

    具体实现代码

    https://github.com/xc8801/Data-Structures/tree/master/SkipList

    相关文章

      网友评论

          本文标题:数据结构-SkipList

          本文链接:https://www.haomeiwen.com/subject/afnoiqtx.html