Redis 为什么用跳表,而不用平衡树?
2023-04-21 阅读 51
Redis 之所以使用跳表而不是平衡树,是因为跳表的实现更加简单和高效,并且在一些特定的场景下,跳表的性能也会比平衡树更好。
具体来说,跳表的查询、插入、删除操作都可以在 O(log n) 的时间复杂度内完成,而平衡树的实现相对复杂,需要考虑旋转、平衡等问题,因此其操作的时间复杂度相对较高。
此外,跳表的空间复杂度也比平衡树小,因为跳表不需要存储平衡树中的额外指针信息。
最后,跳表的实现也更容易理解和调试,因此在 Redis 中选择了跳表作为有序集合的底层实现。
更新于 2023年04月23日