历史地图:数据结构与算法是怎样演进的
从古代算法、机械制表和电子计算机讲到平衡树、图算法、搜索系统与分布式结构,理解每类方法出现的现实原因。
标签 / 21 POSTS
涵盖数组、链表、栈、队列、哈希表、树、图等核心数据结构,以及排序、搜索、动态规划、图算法等常用算法,讲解其底层原理、复杂度特性与实战应用。
ARTICLES
从古代算法、机械制表和电子计算机讲到平衡树、图算法、搜索系统与分布式结构,理解每类方法出现的现实原因。
从现实信息如何进入内存讲起,分清值、变量、地址、引用、数据结构和抽象数据类型,为后续学习建立共同语言。
从位数组和多哈希理解假阳性,推导容量参数,并分析删除限制与缓存穿透落地。
理解用受控误差换取空间效率的共同思想,并比较 Bloom、Count-Min Sketch 与 HyperLogLog。
手写两种图存储方式和 BFS,讨论重复边、权重、访问标记与 API 边界。
建立有向、无向、加权、稀疏与稠密图的建模方式,并比较邻接矩阵和邻接表。
使用父数组、路径压缩和按大小合并高效维护动态连通关系,并明确删除与路径查询边界。
从五条规则、插入染色、旋转和 2-3-4 树视角理解红黑树的近似平衡。
理解 2-节点、3-节点、向上分裂与绝对平衡,并建立通往红黑树和 B 树的桥梁。
围绕平衡因子、LL/RR/LR/RL 旋转、高度更新和不变量测试理解严格平衡树。
掌握 BST 有序不变量、三类删除情况、树高复杂度以及有序输入导致的退化问题。
从字符路径、结束标记与节点表示理解前缀检索,并补充 Unicode 与压缩 Trie 边界。
利用完全二叉树和数组索引理解上浮、下沉、建堆、Top K 与优先队列。
比较堆、Trie、搜索树、平衡树、多路树和并查集各自维护的不变量与适用问题。
讲清键到槽位、拉链法与开放寻址、负载因子、扩容及 equals/hashCode 契约。
通过数组栈、括号匹配与显式 DFS 理解 LIFO,并说明现代 Java 为何优先使用 ArrayDeque。
从环形队列进入延迟队列,理解 FIFO、优先级、时间语义、背压与可靠性边界。
从地址计算理解随机访问,拆解动态数组扩容、搬移、摊销复杂度与缓存局部性。
理解单向、双向与循环链表,手写节点连接,并澄清 LinkedList 的复杂度边界。
从访问模式、复杂度和工程成本出发,串联数组、链表、队列、栈与哈希表的选择逻辑。
把数据结构和算法放到同一张学习地图里,说明两者关系、学习顺序、工程场景和专题阅读方式。