这条线不做教材式知识点罗列,而是把算法放回真实工程语境:默认排序怎么选、哈希表为什么快、字符串匹配如何利用 SIMD、近似数据结构在监控和推荐里怎么落地。
本页提供统一入口;当前共收录 118 篇正文。
专题入口
推荐入口
- TimSort:自然 run、galloping 与从栈不变量到 Powersort 的合并策略
- pdqsort:坏分区计数、重复键分区与块分区如何改造 introsort
- 基数排序:绕开比较下界的代价,从 LSD、American flag sort 到 ska_sort
- 外部排序:从 I/O 下界到 PostgreSQL 与 GNU sort
目录
- TimSort:自然 run、galloping 与从栈不变量到 Powersort 的合并策略
- pdqsort:坏分区计数、重复键分区与块分区如何改造 introsort
- 基数排序:绕开比较下界的代价,从 LSD、American flag sort 到 ska_sort
- 外部排序:从 I/O 下界到 PostgreSQL 与 GNU sort
- 并行排序:排序网络、并行归并、样本排序与 GPU 基数排序
- 排序基准测试:比较次数、分支预测与输入分布
- 哈希表内部:链式、线性探测、Robin Hood 与生产实现的取舍
- Cuckoo Hashing:用两个位置换取最坏情况常数查找
- Swiss Table:控制字节、分组探测与墓碑——对照 Abseil、Go 与 hashbrown 源码
- 完美哈希:从 FKS 两级表到 gperf 与现代 MPHF
- 素性测试与素数生成:Miller-Rabin、BPSW 与 OpenSSL/FIPS 186-5
- 扩展欧几里得与模逆元
- 格基规约(LLL):后量子密码的战场
- 有限域算术:从 AES 到 Reed-Solomon
- 椭圆曲线算术:群论视角
- DFA 最小化:词法分析器生成的核心
- LR 与 LALR 解析:从理论到 yacc/bison
- PEG 解析与 Packrat:无限前瞻的代价
- 寄存器分配:图着色与线性扫描
- SSA 形式与编译器优化
- 一致性哈希:从 Karger 哈希环到 Jump、Maglev 与有界负载
- 垃圾回收算法全景
- 缓存无关算法:让硬件替你优化
- 无分支编程:当 if 成为性能杀手
- SIMD 算法设计模式
- 随机化算法:当运气成为武器
- 竞争分析与在线算法
- Bloom Filter 家族:从位数组到 Ribbon,每键位数离下界还差多少
- 密码学哈希与非密码学哈希:安全定义、迭代构造与哈希洪泛
- XXH3 与 wyhash:SIMD 累加器和 128 位标量乘法两条提速路线
- 红黑树与 AVL:旋转次数、树高与 Linux 内核的选择
- B-tree 深度解剖:从磁盘 I/O 模型到 boltdb 源码
- B+tree 与 LSM-tree:原地更新与异地更新的读、写、空间代价
- Treap 与跳表:随机平衡的期望代价与生产参数
- 线段树与树状数组:前缀分解、懒标记与自底向上实现
- 持久化数据结构:路径复制、节点复制与宽分支 trie
- van Emde Boas 树:整数前驱查询的递归结构、空间代价与下界
- Merkle 树与认证数据结构:包含证明、一致性证明与构造陷阱
- 后缀数组:倍增、SA-IS、LCP 与增强后缀数组
- AC 自动机:失败链接、输出链接与转移表布局
- BWT 与 FM-index:从 bzip2 到基因组比对
- 编辑距离与模糊匹配:Wagner-Fischer、位并行与 Levenshtein 自动机
- 字符串哈希:Rabin-Karp、滚动哈希与内容定义分块
- SIMD 字节扫描:memchr 的页边界、PCMPISTRI 的代价与 JSON/CSV 的引号掩码
- Unicode 文本算法:UTF-8 编解码与验证、规范化、字素簇与双向文本安全
- HyperLogLog:从概率计数到 Redis 实现的基数估计
- Count-Min Sketch:点查询误差界、保守更新与生产实现
- t-digest:缩放函数、合并与尾部分位数误差
- 水塘抽样:Algorithm R/L/Z、加权键与样本合并
- MinHash 与 SimHash:近重复检测的相似度草图与候选生成
- 频率估计与 Heavy Hitter:Misra-Gries、Space-Saving 与空间下界
- 流式算法总论:数据流模型、频率矩下界与线性 sketch
- KD-tree:切分规则、回溯剪枝与维度增长下的失效边界
- 局部敏感哈希:从概率保证到多探针近邻检索
- HNSW:分层小世界图的近似近邻搜索
- 乘积量化与 IVF-PQ:压缩域里的近似最近邻
- ScaNN 与 DiskANN:量化损失、Vamana 与 SSD 图检索
- 从零实现一个向量搜索引擎
- Dijkstra 与 A*:非负权、启发式与工程优先队列
- Bellman-Ford 与路由协议:负环、SPFA 与距离向量收敛
- 最小生成树:割性质、Kruskal/Prim/Borůvka 与线性时间开放问题
- Tarjan 算法族:SCC、割点、桥的统一框架
- 网络流与二分匹配
- 拓扑排序:依赖解析的顺序与环
- PageRank 与随机游走:从链接投票到工程实现
- 图着色与寄存器分配:从 DSatur 到 Chaitin-Briggs
- 用户态内存分配器:size class、线程缓存与碎片边界
- 页面置换算法:从 OPT、LRU 到 ARC 与 Linux 页面回收
- CPU 调度:CFS 的虚拟运行时间与 EEVDF 的虚拟截止期
- I/O 调度:在寻道、队列深度与公平性之间取舍
- 伙伴系统与 SLUB:Linux 物理页和小对象分配的边界
- 文件系统中的树:extent、HTree 与 CoW B-tree 的代价
- epoll 的数据结构:红黑树、就绪队列与回调机制
- 定时器数据结构:堆、时间轮与生产系统的精度权衡
- Join 算法:嵌套循环、排序归并与 Hybrid Hash 的代价和实现
- 查询优化器:System R 动态规划、Cascades Memo 与基数误差
- 数据库缓冲池替换:LRU-K、2Q 与生产级扫描保护
- WAL 与 ARIES:pageLSN、CLR 与可重启恢复
- LSM-tree Compaction 策略
- MVCC 实现变体全解
- 学习索引:当机器学习遇上数据库
- TCP 拥塞控制:从 Reno 到 BBRv3
- 滑动窗口与流控的算法本质
- 限流算法:令牌桶 / 漏桶 / GCRA
- 负载均衡算法:P2C / EWMA / 平滑加权轮询
- 路由算法:距离向量 vs 链路状态 vs 路径向量
- 主动队列管理:RED → CoDel → FQ-CoDel
- 无锁队列:Michael-Scott 算法与 ABA 问题
- 无锁栈:Treiber 栈与指数退避
- 并发跳表:ConcurrentSkipListMap 的设计
- Hazard Pointers:安全内存回收的优雅方案
- Epoch-Based Reclamation:Crossbeam 的实现之道
- RCU:Linux 内核的读侧零开销并发
- 并发哈希表:从分段锁到无锁设计
- MPMC Channel:Go channel 与 crossbeam-channel 的实现对比
- Huffman 编码与 DEFLATE
- LZ77、LZ78 与 LZW:字典从哪里来,最长匹配怎么找
- zstd 的格式与实现:序列、FSE 表、字典与长距离匹配
- 算术编码、Range Coder 与 ANS:分数比特的记账方式与精度损失
- 整数压缩:varint → PForDelta → SIMD-BP128
- 时序数据压缩:Gorilla 编码与 Delta-of-Delta
- 列式压缩:RLE / Dictionary / FSST
- 凸包算法:Graham Scan、Andrew 与 Chan 的进化
- 扫描线算法:从线段交到矩形面积并
- Voronoi 图与 Delaunay 三角剖分:对偶的力量
- R-tree 与空间索引:PostGIS 的底层结构
- 点定位与梯形分解
- 最近点对与随机化几何算法
- 树形 DP:换根、虚树与树上背包
- 状压 DP:用位运算驯服指数空间
- 斜率优化与凸包技巧
- 分治优化 DP:决策单调性的力量
- 区间 DP 与矩阵链乘
- DP 在工业界:资源调度、广告投放与路径规划
- 快速傅里叶变换:从多项式乘法到信号处理
- 手把手教你用 C++ 写一个简单的 JSON 解析器
- 正则表达式性能优化与 ReDoS 防御实战
- 正则表达式理论:从形式语言到自动机实现
延伸阅读
读完这篇,下一步读什么
优先读同系列或同问题的下一篇,把单篇消费变成主题集群。
字符串匹配算法选型索引
字符串匹配算法工程选型:KMP、Boyer-Moore(BM)、Rabin-Karp、AC 自动机、后缀数组、SIMD 与模糊匹配——按场景选算法,附本站深度文章导航。
排序算法专题:从 TimSort 到并行排序
把 TimSort、pdqsort、radix sort、external sort、parallel sort 与 benchmark 串成一条阅读路径。先读哪篇、什么时候选哪种排序,这一页讲清。
SIMD 加速字符串查找(strchr / strstr)系统指南
面向工程实践的SIMD字符串查找优化完全指南:SSE2/AVX2/AVX-512并行比较原理,位掩码技巧,跨块与页边界安全处理,strchr/strstr高性能实现,包含完整代码示例和性能陷阱分析
记录历史:持久化数据结构
持久化数据结构原理与实现:探索 undo/redo、MVCC、Git 等系统背后的数据结构设计模式