这条线不做教材式知识点罗列,而是把算法放回真实工程语境:默认排序怎么选、哈希表为什么快、字符串匹配如何利用 SIMD、近似数据结构在监控和推荐里怎么落地。
本页提供统一入口;当前共收录 118 篇正文。
专题入口
推荐入口
目录
- TimSort 深度解剖:Python 与 Java 默认排序的精妙设计
- pdqsort:击败所有对手的模式自适应排序
- 基数排序:打破比较下界的正确姿势
- 外部排序:当数据装不进内存
- 并行排序:从归并网络到 GPU 双调排序
- 排序基准测试:用数据说话
- 哈希表内部:开放寻址、链式、Robin Hood 的三国演义
- Cuckoo Hashing:最坏 O(1) 查找的优雅设计
- Swiss Table:Google 的 SIMD 加速哈希表
- 完美哈希:从理论到 gperf 实践
- 素性测试与工业级素数生成
- 扩展欧几里得与模逆元
- 格基规约(LLL):后量子密码的战场
- 有限域算术:从 AES 到 Reed-Solomon
- 椭圆曲线算术:群论视角
- DFA 最小化:词法分析器生成的核心
- LR 与 LALR 解析:从理论到 yacc/bison
- PEG 解析与 Packrat:无限前瞻的代价
- 寄存器分配:图着色与线性扫描
- SSA 形式与编译器优化
- 一致性哈希:不要相信教科书版本
- 垃圾回收算法全景
- 缓存无关算法:让硬件替你优化
- 无分支编程:当 if 成为性能杀手
- SIMD 算法设计模式
- 随机化算法:当运气成为武器
- 竞争分析与在线算法
- Bloom Filter 全家族:Standard → Counting → Cuckoo → Ribbon
- 密码学哈希 vs 非密码学哈希:设计哲学的分野
- 向量化哈希:xxHash3 与 wyhash 的 SIMD 实现
- 红黑树 vs AVL:Linux 内核为什么选红黑树
- B-tree 深度解剖:从磁盘 I/O 模型到 boltdb 源码
- B+tree 与 LSM-tree:两种存储引擎哲学的碰撞
- Treap 与跳表:随机化的力量
- 线段树与树状数组:区间问题的优雅武器
- 持久化数据结构:函数式世界的基石
- Van Emde Boas 树:当 O(log log n) 不只是理论
- Merkle 树与认证数据结构:从 Git 到区块链
- 后缀数组:比后缀树更实用的选择
- AC 自动机:多模式匹配与入侵检测系统
- BWT 与 FM-index:从 bzip2 到基因组比对
- 编辑距离与模糊匹配:搜索引擎的纠错秘密
- 字符串哈希:Rabin-Karp 与滚动哈希
- SIMD 字符串处理进阶
- Unicode 算法:UTF-8 的精妙与文本处理陷阱
- HyperLogLog:用 12KB 统计十亿基数
- Count-Min Sketch:流式频率估计的瑞士军刀
- t-digest:分布式系统中的分位数估计
- 水塘抽样:未知大小数据流的公平抽样
- MinHash 与 SimHash:海量文本相似度检测
- 频率估计的理论极限:Space-Saving 与 Misra-Gries
- 流式算法总论:亚线性空间的艺术
- KD-tree:低维空间的分治之道
- 局部敏感哈希(LSH):高维近邻的概率方法
- HNSW:图索引如何击败树索引
- 乘积量化与 IVF-PQ:十亿向量的工业级检索
- ScaNN 与 DiskANN:两大厂的向量检索之路
- 从零实现一个向量搜索引擎
- Dijkstra 与 A*:从优先队列到路径规划
- Bellman-Ford 与路由协议
- 最小生成树:Kruskal 与 Prim 的工程权衡
- Tarjan 算法族:SCC、割点、桥的统一框架
- 网络流与二分匹配
- 拓扑排序:依赖解析的核心
- PageRank 与随机游走:搜索引擎的数学基础
- 图着色与寄存器分配
- 内存分配器对决:jemalloc vs tcmalloc vs mimalloc
- 页面置换算法:LRU 的谎言与 ARC 的真相
- 进程调度:从 CFS 到 EEVDF 的哲学演变
- I/O 调度:CFQ → mq-deadline → BFQ → kyber
- 伙伴系统与 SLUB 分配器:Linux 物理内存管理的两层架构
- 文件系统的树:从 ext4 extent tree 到 btrfs CoW B-tree
- epoll 的数据结构:红黑树、就绪队列与回调机制
- 定时器算法:时间轮、最小堆与层级时间轮
- Join 算法全解:Nested Loop → Hash → Sort-Merge
- 查询优化器:从 System R 到 Cascades
- 缓冲池管理算法:LRU-K → 2Q → CLOCK-Pro
- WAL 与 ARIES 恢复算法
- 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 与字典训练
- 算术编码与 ANS:超越 Huffman
- 整数压缩: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 防御实战
- 正则表达式理论:从形式语言到自动机实现
延伸阅读
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
排序算法专题:从 TimSort 到并行排序
把 TimSort、pdqsort、radix sort、external sort、parallel sort 与 benchmark 串成一条阅读路径。先读哪篇、什么时候选哪种排序,这一页讲清。
SIMD 加速字符串查找(strchr / strstr)系统指南
面向工程实践的SIMD字符串查找优化完全指南:SSE2/AVX2/AVX-512并行比较原理,位掩码技巧,跨块与页边界安全处理,strchr/strstr高性能实现,包含完整代码示例和性能陷阱分析
记录历史:持久化数据结构
持久化数据结构原理与实现:探索 undo/redo、MVCC、Git 等系统背后的数据结构设计模式
关于二分查找算法
二分查找算法详解:原理、实现、变种及常见错误分析,O(log n) 时间复杂度的高效搜索算法