17跳表:为什么Redis一定要用跳表来实现有序集合?.pdfVIP

  • 2
  • 0
  • 约1.82万字
  • 约 18页
  • 2022-02-22 发布于吉林
  • 举报

17跳表:为什么Redis一定要用跳表来实现有序集合?.pdf

17|跳表:为什么Redis一定要用跳表来实现有序集合? 17|跳表:为什么Redis一定要用跳表来实现有序集合? 上两节我们讲了二分查找算法。当时我讲到,因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用 二分查找算法了吗? 实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。我们把改造之后的数据结构叫作跳表 (Skip list),也就是今天要讲的内容。 跳表这种数据结构对你来说,可能会比较陌生,因为一般的数据结构和算法书籍里都不怎么会讲。但是它确实是一种各方面性能都比较优秀的动态数据结构 ,可 以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树 (Red-black tree )。 Redis中的有序集合(Sorted Set)就是用跳表来实现的。如果你有一定基础,应该知道红黑树也可以实现快速的插入、删除和查找操作。那Redis为什么会选择用跳 表来实现有序集合呢? 为什么不用红黑树呢?学完今天的内容,你就知道答案了。 “ ” 如何理解 跳表 ? 对于一个单链表来

文档评论(0)

1亿VIP精品文档

相关文档