Skip to content
面向课程高水平掌握的理论与实验教程

把数据结构与算法
学透、做实、用活

DSA Mastery 面向课程学习者,把定义、推导、实现、测试与典型问题训练连成一条完整路径,帮助读者建立能够应对课堂、考试、实验和综合应用的扎实能力。项目由一个近二十人的学生团队共同维护,并通过交叉 Review 持续校正内容。

核心理论与复杂度推导动手 Lab 与边界测试任务同伴复核与来源核验
17个章节入口
93篇教程页面
358个动手实验
1条理论到实践的路径
理论 × 实验 × 综合训练

从理解概念,到独立解决问题

每章同时训练定义与推导、算法实现、边界验证和问题迁移;能讲清、能写出、能验证,才算真正掌握。

  1. 01理解
  2. 02推导
  3. 03实现
  4. 04测试
  5. 05练习
  6. 06讲解
  7. 07复盘
  8. 08迁移
课程结构

从内存基础,到算法思想

基础部分建立共同语言,六个 Part 依次组织线性结构、树、图、查找、排序与算法思想。

基础部分

前言

课程作者指南

查看理论文档语法、实验环境,以及 Quiz、Program、Project 的命令、更新与测试流程。

  • 前言 · 理论环境展示
  • Lab 更新与测试指南
  • Windows 学生实验环境安装指南
进入本章
CH.0

基础

从内存组织方式理解数据结构为何具有不同的表示与操作成本。

  • 0.1 数据结构基础概念
  • 0.2 时间与空间复杂度概论
  • 0.3 从内存视角理解复杂度
进入本章

Part I · 线性结构

CH.1

线性表

学习线性表 ADT、顺序存储、链式存储及其设计取舍。

  • 第 1 章 线性表
  • 1.1 线性表抽象数据类型
  • 1.2 第一种实现——顺序表 (动态数组)
进入本章
CH.2

栈与队列

从 LIFO/FIFO 的结构语义出发,掌握栈、循环队列及其在表达式、回溯与逐层扩散中的应用。

  • 第 2 章 栈与队列
  • 2.1 栈
  • 2.2 队列
进入本章
CH.3

字符串、数组与矩阵

连接字符串匹配、数组寻址和矩阵压缩的连续存储视角。

  • 第 3 章 字符串与数组
  • 3.1 字符串的定义、存储与编码
  • 3.2 串的模式匹配与处理实践
进入本章

Part II · 树形结构

CH.4

树与二叉树

建立树形结构、二叉树性质和遍历方法的共同基础。

  • 第 4 章 树与二叉树
  • 4.1 树的基本概念与存储结构
  • 4.2 二叉树
进入本章
CH.5

树的应用

学习搜索树与平衡、堆与优先队列、赫夫曼编码、并查集及多路索引树。

  • 第 5 章 树的应用
  • 5.1 二叉搜索树与平衡
  • 5.2 堆与优先队列
进入本章

Part III · 图结构

CH.6

图的基础与存储

学习图的基本概念、存储方式,以及遍历如何计算可达性和连通分量。

  • 6.1 图的基本概念
  • 6.2 图的存储结构
  • 6.3 图的遍历与连通性
进入本章
CH.7

图的遍历与应用

从 DFS、BFS 走向最小生成树、最短路径等图算法。

  • 7.1 图的遍历:DFS 与 BFS
  • 7.2 拓扑排序与有向无环图
  • 7.3 最小生成树
进入本章

Part IV · 查找与索引

CH.8

基础查找与树形查找

从基础查找策略过渡到二叉搜索树及其操作。

  • 第 8 章 查找
  • 8.1 基础查找与折半查找
  • 8.2 二叉排序树
进入本章
CH.9

散列与索引结构

理解多路索引、散列函数、冲突处理和外存查找结构。

  • 9.1 B 树与 B+ 树
  • 9.2 散列表
进入本章

Part V · 排序

CH.10

基础排序算法

比较插入、交换与选择类排序的过程、稳定性和复杂度。

  • 第 10 章 排序
  • 10.1 插入排序
  • 10.2 选择排序
进入本章
CH.11

高效排序与外部排序

组织快速、归并、堆、基数与外部排序的进阶学习框架。

  • 11.1 归并排序
  • 11.2 快速排序
  • 11.3 堆排序
进入本章

Part VI · 算法思想

CH.12

分治与递归

建立递归定义、问题分解、合并结果与复杂度分析框架。

  • 第 12 章:从自相似问题到分治框架
  • 递归建模:函数契约、边界与规模递减
  • 递与归:调用栈、递归树和迭代改写
进入本章
CH.13

贪心算法

理解局部选择、最优子结构以及贪心正确性的证明思路。

  • 第 13 章 贪心算法
  • 贪心算法基础:框架与关键性质
  • 贪心算法经典问题
进入本章
CH.14

动态规划

围绕状态、转移、边界和计算顺序建立动态规划方法。

  • 第 14 章 动态规划:把重复搜索折叠成状态
  • 14.1 动态规划思维与状态设计
  • 14.2 从记忆化搜索到递推
进入本章
CH.15

回溯与搜索

使用状态空间、选择、撤销与剪枝组织系统搜索。

  • 第 15 章 回溯与搜索:把解空间变成一棵可以搜索的树
  • 15.1 回溯框架:解向量、状态空间树与回溯模板
  • 15.2 子集树与排列树:全排列、子集和与 N 皇后
进入本章
查看课程总目录
Learning by building

每章都有可验收的 Lab

查看全部实验
为长期更新而设计

新增一篇 Markdown,网站就认识它

章节正文不复制进页面代码。只要按契约放入内容目录,构建器会发现、排序、索引并生成对应网址。

查看教程体验
  1. 01
    创建 Markdown

    复制相邻页面,填写标题、章节号、顺序与更新时间。

  2. 02
    本地检查

    保存后检查导航、公式、代码和相对链接是否正确。

  3. 03
    Review 后合并

    另一名成员验证内容与 Lab,合并后由同一内容源统一构建网站。

用扎实理论与过硬实验,走向课程高水平

项目不提供押题捷径或分数保证;我们用严谨理论、可复现实验和综合训练,帮助读者把能力练到可以独立验证和迁移。