Skip to content

快速开始

欢迎使用 408 数据结构 Python 实现文档站。

这个站点面向两类场景:

  • 408 考研复习:快速回顾概念、复杂度、考点和易错点。
  • 面试或练习:直接定位到某个数据结构或算法的 Python 实现。

站点内容

主线内容按照王道 408 数据结构章节组织,共 8 章:

章节内容重点
第1章绪论数据结构三要素、时间复杂度、空间复杂度
第2章线性表顺序表、单链表、双链表、循环链表
第3章栈与队列栈、队列、括号匹配、表达式求值
第4章朴素匹配、KMP、next/nextval
第5章树与二叉树遍历、线索树、哈夫曼树、并查集
第6章BFS、DFS、最小生成树、最短路径、拓扑排序
第7章查找顺序查找、折半查找、BST、AVL、散列表
第8章排序常见排序算法实现与复杂度对比

除了基础知识目录外,还补充了 剑指 Offer 专题和 408 大题真题 专题;其中 冲刺与速记 被收纳在 408 真题目录下,方便按考试场景集中查看。

本地运行

文档站点的工作目录在 docs/

bash
cd docs
npm ci
npm run docs:dev

启动后,终端会输出一个本地地址,通常是 http://localhost:5173/

如果你只想验证构建是否正常,可以执行:

bash
cd docs
npm run docs:build

仓库目录说明

text
G:\Projects\cs408-tutorials
├── code/                  Python 示例代码
├── docs/
│   ├── package.json       文档脚本与依赖
│   ├── package-lock.json
│   ├── README.md
│   └── content/           VitePress 文档源目录
│       ├── .vitepress/    站点配置与构建产物
│       ├── guide/         使用说明
│       ├── data-structure-fundamentals/
│       │   ├── ch01-intro/    第1章 绪论
│       │   ├── ch02-linear/   第2章 线性表
│       │   ├── ...
│       │   └── ch08-sort/     第8章 排序
│       ├── coding-interview-offer/   剑指 Offer 专题
│       └── 408-exam-questions/       408 大题真题专题
│           └── sprint/               冲刺与速记专题
└── .github/workflows/     GitHub Pages 部署工作流

推荐阅读方式

如果你在准备 408

  1. 先读 第1章 绪论,把复杂度分析框架建立起来。
  2. 然后顺序阅读线性表、栈队列、串、树、图、查找、排序。
  3. 每章优先看概念、手写过程、复杂度总结,再看完整代码。

如果你在准备面试

  1. 先复习链表、树、图、查找和排序。
  2. 再进入 408 大题真题 复盘历年大题模型。
  3. 最后进入 剑指 Offer 做分类刷题。
  4. 临考前切到 冲刺与速记 做高频压缩复习。
  5. 对容易手写的题,建议自己脱离文档重新实现一遍。

部署到 GitHub Pages

本仓库已经包含 GitHub Actions 工作流,默认会在 main 分支的 docs/** 发生变化时自动构建。

部署步骤:

  1. 将仓库推送到 GitHub。
  2. 打开仓库 Settings -> Pages
  3. Source 中选择 GitHub Actions
  4. 后续只要 push 到 main,页面就会自动更新。

默认访问地址:

https://yanqiangmiffy.github.io/cs408-tutorials/

常见问题

1. 为什么首页能点,进了章节页再点顶部菜单就 404?

原因通常是站内链接写成了相对路径,例如:

ts
{ text: '第3章 栈与队列', link: 'ch03-stack-queue/' }

当你当前在 /data-structure-fundamentals/ch02-linear/ 页面时,浏览器会把它拼成:

text
/cs408-tutorials/data-structure-fundamentals/ch02-linear/ch03-stack-queue/

这个地址当然不存在,所以会跳到 404。

正确写法应该是绝对路径:

ts
{ text: '第3章 栈与队列', link: '/data-structure-fundamentals/ch03-stack-queue/' }

2. GitHub Pages 部署后静态资源丢失怎么办?

优先检查 docs/content/.vitepress/config.mts 中的 base

ts
base: '/cs408-tutorials/'

这个值必须与 GitHub 仓库名一致。

3. 修改文档后没有生效怎么办?

  • 本地开发环境下,先确认是否运行在 docs 目录。
  • 部署环境下,检查 GitHub Actions 是否成功执行。
  • 如果修改的是配置文件,最好重新执行一次 npm run docs:build 验证。

Python 示例代码

文档之外,仓库根目录的 code/ 下还提供了可运行的 Python 示例。比如:

bash
python code/7_search/7_4_btree.py
python code/8_sorting/quick_sort.py

这种方式适合在阅读完文档后,对照运行结果进一步理解算法行为。

最近更新

基于 MIT 许可发布