系统内核

布谷鸟哈希深度实战:从双哈希候选、驱逐重定位到分桶与 Stash 的生产级工程全解

系统拆解布谷鸟哈希的第一性原理:每个键只有两个候选桶(双哈希),查询最坏 O(1) 且与负载率无关;推导插入时"踢走占用者(evict/kick)"的驱逐重定位算法、其终止性与失败概率,以及临界负载率 α*≈0.49(k=2)的由来;解析 Stash 旁路数组把溢出概率压到 O(1/√N) 的工程技巧、rehash 扩容换种子打破置换环的方法。展开 d-left hashing、分桶布谷鸟(b=4 推到负载率 0.99+)、计数布谷鸟、并发布谷鸟(多核锁粒度/tombstone 退化)等变体,并给出 Cuckoo Filter——可删、比 Bloom 省 1.5~2 倍空间的近似成员查询替身。附带可插拔双哈希、带 Stash 与自动扩容的生产级 Python 实现(插入/查询/删除/重建),与链地址/线性探测/布隆的分工对照表,以及 12 项生产陷阱清单(哈希相关性、MAX_LOOP、Stash 增长、扩容换种子、并发 tombstone、分桶 b 过大等)。与本站《布隆过滤器》(16214)、《Count-Min Sketch》(16270)、《HyperLogLog》(16312) 共同构成"概率与高性能数据结构工程"系列,补齐确定性 O(1) 查询 + 可删除 + 高负载率维度。

并查集深度实战:从等价划分、路径压缩到按秩合并与可撤销/持久化的工程全解

系统拆解并查集(Disjoint Set Union)的第一性原理:用有根森林表示等价类划分,find/union 如何把"是否连通"转化为"根是否相同"。从朴素实现的 O(n) 退化陷阱出发,推导两大核心优化——路径压缩(迭代版,规避 Python 递归爆栈)与按秩/按大小合并——二者叠加把摊还复杂度钉死在反阿克曼函数 α(n)(物理可观测尺度内 α(n)≤4,近似常数)。进而展开变体谱系:加权/种类并查集、可撤销并查集(仅按大小合并+栈回滚,禁用路径压缩)、持久化并查集、DSU on tree、离线动态连通性、网格并查集。给出 Kruskal MST/连通分量/图像分割/等式约束/类型合一 等应用对照表、12 项生产陷阱清单(递归压缩爆栈、索引混淆、可撤销误用压缩等)与可复现 Python 工具箱。与本站 布隆过滤器/Count-Min Sketch/HyperLogLog/布谷鸟哈希 共同构成"概率与高性能数据结构工程"系列,前者提供确定性精确的等价类划分,后者提供概率近似的集合成员/频率/基数估计,工程栈中互补共存。

Linux io_uring 深度实战:重新定义 Linux 异步 I/O 编程范式

Linux io_uring 深度实战:从 AIO 困境到 io_uring 架构(SQ/CQ Ring、SQE/CQE)、完整 API 实战(初始化、提交、完成事件、链接操作)、高级特性(固定文件、固定缓冲区、SQPOLL 零 syscall、multishot)、性能对比评估、生产部署考量、实战 echo server 示例

字典树(Trie / 前缀树)深度实战:从字符沿边展开、压缩与双数组到 IP 路由与敏感词过滤的工程全解

前缀,是几乎所有"检索"类系统的隐形骨架:自动补全、搜索建议、T9 输入法、IP 路由的最长前缀匹配(LPM)、敏感词过滤、拼写纠错、词典树、前缀计数与排名……这些场景的共同点是——**查询的不是整条键,而是"以某串为前缀的所有键"**。当你发现自己在用 `startswith` 遍历百万字符串时,就该请出字典树了。