摘要: 跳跃表(skiplist)是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的。 跳跃表支持平均 O(\log N) 最坏 O(N) 复杂度的节点查找, 还可以通过顺序性操作来批量处理节点。 在大部分情况下, 跳跃表的效率可以和平衡树相媲美, 并且因为跳跃 阅读全文
posted @ 2021-02-07 18:19 diameter 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Redis 的字典使用哈希表作为底层实现, 一个哈希表里面可以有多个哈希表节点, 而每个哈希表节点就保存了字典中的一个键值对。 typedef struct dictEntry { // 键 void *key; // 值 union { void *val; uint64_t u64; int64 阅读全文
posted @ 2021-02-07 18:15 diameter 阅读(47) 评论(0) 推荐(0) 编辑
摘要: redis里面的链表为双链表结构 /* * 双端链表节点 */ typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value; } listNod 阅读全文
posted @ 2021-02-07 18:01 diameter 阅读(65) 评论(0) 推荐(0) 编辑