数据结构:从基础到工程实践封面

XIAOAI TOPIC · 已完结

数据结构与算法:从基础到工程实践

从复杂度与访问模式出发,系统学习数组、链表、栈、队列、哈希表、堆、搜索树、平衡树、并查集、图和布隆过滤器,并用 Java 实现与工程分析把原理落到真实开发。

77 篇文章470 分钟适合入门
从第一篇开始

ORDERED READING

全部文章

建议按顺序阅读,也可以从任意一篇开始
  1. 01
    计算机基础10 分钟阅读

    总览:数据结构与算法应该怎么学

    先看总览,建立数据结构与算法的完整地图。

  2. 02
    计算机基础8 分钟阅读

    零基础前置:数据、内存、引用与抽象数据类型

    完全零基础先读这一篇,建立值、内存、引用和 ADT 的共同语言。

  3. 03
    计算机基础6 分钟阅读

    历史地图:数据结构与算法是怎样演进的

    先看问题与工具如何演进,再进入具体结构和算法。

  4. 04
    计算机基础7 分钟阅读

    数据结构篇:从组织数据到工程结构

    数据结构篇的总入口,下面继续展开各类具体结构。

  5. 05
    计算机基础8 分钟阅读

    算法篇:从思想到题型实践

    算法篇的总入口,后续算法文章都挂到这里。

  6. 06
    计算机基础3 分钟阅读

    算法基础与复杂度

    算法篇第一章,先把复杂度、递归和数学基础打牢。

  7. 07
    计算机基础7 分钟阅读

    算法复杂度与递归:先学会估成本和拆问题

    先学复杂度和递归,后面的算法才不会只剩模板。

  8. 08
    计算机基础5 分钟阅读

    分治算法:从递归树到合并结果

    分治连接递归、排序、区间处理和并行任务拆分。

  9. 09
    计算机基础5 分钟阅读

    数学算法基础:取模、GCD、快速幂与素数筛

    补齐面试算法里经常隐藏出现的数学基础。

  10. 10
    计算机基础3 分钟阅读

    数组、链表与区间技巧

    算法篇第二章,重点训练线性结构、边界移动和区间处理。

  11. 11
    计算机基础6 分钟阅读

    数组与哈希题型:扫描、计数与映射

    补齐最常见的数组 + 哈希题型桥梁。

  12. 12
    计算机基础7 分钟阅读

    双指针与滑动窗口:用边界维护状态

    在数组、链表和字符串里训练边界移动。

  13. 13
    计算机基础8 分钟阅读

    二分查找:从模板到边界控制

    二分是算法篇第一个边界控制训练。

  14. 14
    计算机基础6 分钟阅读

    前缀和与差分数组:区间问题的端点思维

    区间查询和区间修改的基础技巧。

  15. 15
    计算机基础6 分钟阅读

    链表算法:反转、快慢指针与合并

    把链表结构继续扩展成常见算法题型。

  16. 16
    计算机基础5 分钟阅读

    单调栈与单调队列:提前淘汰无用候选

    滑动窗口之后继续学习维护候选集合的线性技巧。

  17. 17
    计算机基础5 分钟阅读

    区间与扫描线算法:端点排序和重叠统计

    补齐区间题、扫描线和差分数组之间的关系。

  18. 18
    计算机基础7 分钟阅读

    矩阵与网格算法:二维数组里的图搜索与 DP

    把二维数组题统一到图搜索和 DP 两条主线。

  19. 19
    计算机基础5 分钟阅读

    位运算、Bitmap 与状态压缩

    补齐位运算、Bitmap 和状态压缩这些高频基础。

  20. 20
    计算机基础2 分钟阅读

    排序、堆与贪心

    算法篇第三章,理解排序、堆和贪心背后的选择逻辑。

  21. 21
    计算机基础8 分钟阅读

    排序算法:从比较排序到工程选择

    用排序建立比较、分治、稳定性和工程选择意识。

  22. 22
    计算机基础6 分钟阅读

    堆与优先队列算法:Top K、中位数与任务调度

    把堆从数据结构实现延伸到 Top K 和流式问题。

  23. 23
    计算机基础6 分钟阅读

    贪心算法:局部最优与证明思维

    和 DP、回溯形成对照:什么时候可以只做当前最优。

  24. 24
    计算机基础2 分钟阅读

    搜索、回溯与树算法

    算法篇第四章,训练状态图、搜索树和树上递归。

  25. 25
    计算机基础8 分钟阅读

    搜索算法:DFS、BFS 与拓扑排序

    把 DFS、BFS、拓扑排序放到同一套状态图思维里。

  26. 26
    计算机基础7 分钟阅读

    回溯算法:从状态树到剪枝

    搜索类题目的基础,后续可连接 DFS、排列组合和剪枝。

  27. 27
    计算机基础8 分钟阅读

    树算法:从遍历到最近公共祖先

    数据结构里的树之后,补上树相关算法与递归状态。

  28. 28
    计算机基础3 分钟阅读

    动态规划专题

    算法篇第五章,集中学习动态规划各类模型。

  29. 29
    计算机基础8 分钟阅读

    动态规划:从状态定义到状态转移

    算法篇重点章节,先建立 DP 思维,再继续拆具体题型。

  30. 30
    计算机基础5 分钟阅读

    线性 DP 与子序列 DP:从位置依赖到双字符串状态

    动态规划总览之后,细分最常见的线性和子序列题型。

  31. 31
    计算机基础6 分钟阅读

    背包 DP:容量限制下的选择模型

    动态规划之后继续展开最经典的容量选择模型。

  32. 32
    计算机基础6 分钟阅读

    区间 DP 与状态压缩:进阶状态设计

    DP 进阶章节,重点训练状态组织方式。

  33. 33
    计算机基础4 分钟阅读

    树形 DP:从节点状态到子树合并

    补齐树结构上的动态规划思想。

  34. 34
    计算机基础4 分钟阅读

    数位 DP:按数字位统计范围内的合法数量

    补齐范围计数类 DP 的入门模型。

  35. 35
    计算机基础2 分钟阅读

    字符串算法专题

    算法篇第六章,集中学习字符串算法和匹配模型。

  36. 36
    计算机基础8 分钟阅读

    字符串算法:从匹配到自动机

    把字符串匹配、前缀复用和多模式匹配放到一张路线图里。

  37. 37
    计算机基础6 分钟阅读

    KMP 与字符串哈希:两种字符串匹配优化

    字符串算法总览之后,深入最常见的单模式匹配优化。

  38. 38
    计算机基础4 分钟阅读

    字符串进阶算法地图:多模式、回文与后缀结构

    字符串算法的进阶入口,先建立问题类型地图。

  39. 39
    计算机基础6 分钟阅读

    AC 自动机:Trie 与 fail 指针的多模式匹配

    从 Trie 和 KMP 继续扩展到多模式匹配。

  40. 40
    计算机基础5 分钟阅读

    Manacher 算法:线性时间求最长回文子串

    补齐回文类字符串问题的专门算法。

  41. 41
    计算机基础4 分钟阅读

    Z 函数与后缀数组入门:从前缀匹配到全局子串关系

    补齐字符串前缀匹配和后缀结构的全局视角。

  42. 42
    计算机基础2 分钟阅读

    图论算法专题

    算法篇第七章,集中学习图论算法与关系建模。

  43. 43
    计算机基础9 分钟阅读

    图算法:从遍历到最短路

    图结构之后,进入图算法的问题选择和工程建模。

  44. 44
    计算机基础6 分钟阅读

    并查集算法应用:连通、合并与判环

    把数据结构篇的并查集扩展到算法应用。

  45. 45
    计算机基础8 分钟阅读

    最短路算法:BFS、Dijkstra、Bellman-Ford 与 Floyd

    图算法核心章节:先按边权和源点数量选算法。

  46. 46
    计算机基础6 分钟阅读

    最小生成树:Prim 与 Kruskal

    和最短路形成对照,理解连接全部点的成本最小化。

  47. 47
    计算机基础5 分钟阅读

    二分图与匹配:两类对象之间的配对问题

    图算法进阶中最常见的配对模型。

  48. 48
    计算机基础5 分钟阅读

    强连通分量 Tarjan:有向图里的环与缩点

    补齐有向图环结构分析和缩点思维。

  49. 49
    计算机基础3 分钟阅读

    网络流入门:最大流、增广路与最小割

    作为图论进阶的容量约束模型入门。

  50. 50
    计算机基础2 分钟阅读

    工程算法与练习路线

    算法篇第八章,把算法学习收束到工程场景和练习方法。

  51. 51
    计算机基础3 分钟阅读

    海量数据算法:Top K、Bitmap、Bloom 与外部排序

    把基础结构迁移到海量数据处理题。

  52. 52
    计算机基础3 分钟阅读

    倒排索引入门:搜索引擎如何从词找到文档

    把算法学习连接到博客搜索、搜索引擎和索引系统。

  53. 53
    计算机基础3 分钟阅读

    算法练习路线:题型地图、错题复盘与工程迁移

    作为算法篇收束文章,建立后续刷题和复盘方法。

  54. 54
    计算机基础7 分钟阅读

    线性与散列数据结构总览

    先建立整体地图,再进入具体结构。

  55. 55
    计算机基础10 分钟阅读

    链表:从节点连接到 LinkedList 实现

    从节点连接理解链表的边界与复杂度。

  56. 56
    计算机基础8 分钟阅读

    数组:从连续内存到 ArrayList 扩容

    与链表对照,理解连续内存带来的优势和代价。

  57. 57
    计算机基础9 分钟阅读

    队列:从 FIFO 到 DelayQueue

    在线性结构基础上引入受限访问顺序。

  58. 58
    计算机基础8 分钟阅读

    栈:从 LIFO 到 ArrayDeque

    继续理解最近状态优先的访问模型。

  59. 59
    计算机基础9 分钟阅读

    哈希表:散列、哈希冲突与扩容

    从数组桶进入按键定位与冲突处理。

  60. 60
    计算机基础6 分钟阅读

    树与集合结构总览

    树形结构与集合结构的学习入口。

  61. 61
    计算机基础8 分钟阅读

    堆:最小堆、最大堆与优先队列

    先掌握用完全二叉树维护优先级。

  62. 62
    计算机基础8 分钟阅读

    字典树 Trie:前缀检索的数据结构

    从树的路径思想进入前缀检索。

  63. 63
    计算机基础9 分钟阅读

    二叉搜索树:查询、插入、删除与退化

    搜索树是理解后续平衡树的基础。

  64. 64
    计算机基础7 分钟阅读

    AVL 树:通过旋转保持平衡

    在 BST 退化问题之后学习严格平衡。

  65. 65
    计算机基础8 分钟阅读

    2-3 树:多路节点与绝对平衡

    用多路节点理解绝对平衡和分裂。

  66. 66
    计算机基础9 分钟阅读

    红黑树:规则、旋转与染色

    从 BST 和 2-3 树过渡到工业常见平衡树。

  67. 67
    计算机基础7 分钟阅读

    并查集:合并、查询与路径压缩

    补充动态连通性这一类集合问题。

  68. 68
    计算机基础4 分钟阅读

    B 树与 B+ 树:数据库索引为什么这样设计

    从平衡搜索树继续理解数据库索引常用的多路树。

  69. 69
    计算机基础6 分钟阅读

    线段树:区间查询、单点修改与懒标记

    补齐动态区间查询和更新的核心结构。

  70. 70
    计算机基础5 分钟阅读

    树状数组 Fenwick Tree:lowbit 与动态前缀和

    和线段树形成对照,理解轻量动态前缀结构。

  71. 71
    计算机基础4 分钟阅读

    跳表 SkipList:有序链表上的多层索引

    补充有序集合中常见的概率平衡结构。

  72. 72
    计算机基础6 分钟阅读

    LRU 缓存:哈希表与双向链表的组合设计

    用 LRU 理解真实工程里常见的组合数据结构。

  73. 73
    计算机基础5 分钟阅读

    一致性哈希:分布式缓存里的数据分配算法

    把哈希结构扩展到分布式缓存和数据分片。

  74. 74
    计算机基础9 分钟阅读

    图数据结构总览

    单独建立图结构的建模地图。

  75. 75
    计算机基础12 分钟阅读

    图:邻接矩阵、邻接表与 Java 实现

    在图的整体地图之后落到存储和遍历实现。

  76. 76
    计算机基础8 分钟阅读

    概率型数据结构总览

    概率型结构单独作为工程取舍专题。

  77. 77
    计算机基础8 分钟阅读

    布隆过滤器:用误判换取空间效率

    从最常见的 Bloom Filter 理解空间和误差交换。