• Redis的zset底层数据结构,为什么用跳跃表而不用红黑树?


       共同点:红黑树和跳表的插入、删除、查找以及迭代输出的时间复杂度是一样的。

    ♣跳表在区间查询的时候效率是高于红黑树的,它查找时,以O(logn)的时间复杂度定位到区间的起点,然后在原始链表往后遍历就可以了 ,其它插入和单个条件查询,更新两者的复杂度都是相同的O(logn)。

    ♣跳表的代码实现相对于红黑树而言更容易实现。

    ♣跳表更加灵活,它在并发环境下可以通过改变索引构建策略,有效平衡执行效率和内存消耗。红黑树的平衡通过左旋转和右旋转来实现平衡。


      读后有收获,小礼物走一走,请作者喝咖啡。

    赞赏支持

  • 相关阅读:
    ModelFirst的CRUD
    EF中逆变和协变
    ERP客户关系渠管理(二十)
    ERP反馈信息管理(十九)
    ERP系统上传文档信息下载(十八)
    比较 数组与对象的同源特性
    对android的认识
    我的知乎
    HTTP来源地址
    BroadcastReceiver 翻译
  • 原文地址:https://www.cnblogs.com/east7/p/14880026.html
Copyright © 2020-2023  润新知