跳表:概率如何击败确定性复杂度

title: “跳表:概率如何击败确定性复杂度” date: “2026-03-07T04:35:05+08:00” description: “从William Pugh 1990年的原始论文出发,深入解析跳表的概率平衡原理、Redis与LevelDB的技术选型逻辑、与红黑树的权衡分析,以及为什么这种"用随机换简单"的设计哲学在高性能系统中持续发光。” draft: false categories: [“数据结构”, “算法”, “系统设计”] tags: [“跳表”, “Skip List”, “Redis”, “红黑树”, “概率数据结构”, “并发编程”, “LevelDB”] 1989年,马里兰大学的William Pugh向 Communications of the ACM 投递了一篇仅四页的论文。这篇论文提出了一个看似荒谬的问题:能不能用掷硬币的方式,替代红黑树中那些令人头疼的旋转操作? ...

10 min · 4737 words

布隆过滤器:用 9.6 个比特存储一个不确定的「是」

1970年,计算机科学家Burton Howard Bloom在《Communications of the ACM》上发表了一篇论文,标题是"Space/Time Trade-offs in Hash Coding with Allowable Errors"。论文只有五页,提出的问题却出奇地实用:如果你想在一个有限的内存空间里存储大量数据,并且允许偶尔犯错,能做到什么程度? ...

11 min · 5332 words