如果你已经能写 Python 函数、用过列表和字典,但一遇到「怎么把嵌套结构里的每个元素都走一遍」就卡住,这门课值得花时间。它不教 Python 语法入门,而是专门解决一个具体问题:深度遍历(DFS)和广度遍历(BFS)到底怎么写、什么时候用哪个。
这门课解决什么工作场景
遍历不是抽象算法题,它对应几类很实在的任务:处理多层嵌套的 JSON 或配置项、扫描目录树、在组织架构或评论层级里找某个节点、做简单的依赖关系检查、在二维网格里判断连通区域。这类需求的共同点是「结构层数不确定」,用 for 循环硬套会越写越乱,而 DFS 和 BFS 就是两种稳定的走法。
课里围绕这两种遍历展开,重点落在 Python 里怎么落地:递归写 DFS 的边界怎么设、用栈改写递归时顺序为什么容易反、BFS 为什么必须配队列、层序输出时怎么记录当前层。这些都是自己看书容易忽略、上手就出错的地方。
学完能独立做什么
- 用递归和显式栈两种方式实现深度优先遍历,并说清各自的取舍;
- 用队列实现广度优先遍历,按层输出结果,而不是只打印一串节点;
- 面对树形或图形结构,判断该用 DFS 还是 BFS,而不是凭感觉选;
- 把遍历逻辑套到嵌套字典、目录结构、网格坐标这类真实数据上;
- 看懂遍历过程中访问顺序、重复访问、终止条件这几处常见 bug 的来源。
需要说明的是,学完这门课你能独立处理中小规模的遍历任务,但它不覆盖图的最短路径、拓扑排序、并查集这些延伸内容。如果你的目标是大厂算法笔试,这只是其中一块拼图。
资料适合什么基础
前提是你能读懂 Python 的函数定义、列表和字典的基本操作,知道递归是什么(哪怕写不熟)。如果连函数返回值和参数传递都还没理顺,建议先补基础再回来,否则遍历里的递归部分会很难受。
课程定位在「体系课」而不是速查手册,所以它把 DFS 和 BFS 分开讲透,再放在一起对比。这种安排适合愿意按顺序看、动手敲一遍的人。只想考前翻两页找代码模板的,可能会觉得节奏偏慢。
怎么用这份资料
建议每看完一种遍历方式就自己写一遍,尤其别跳过「用栈模拟递归」这一步,它最能暴露你对访问顺序的理解是否到位。BFS 部分重点练按层处理,把每层结果单独存起来,这个习惯在处理层级数据时很实用。
遇到例题先自己想十分钟再看解法,遍历类问题的卡点往往不在语法,而在「什么时候标记已访问」。把这一点想清楚,两种遍历的代码结构其实都很短。学完后找一个自己项目里的嵌套数据练手,比再刷十道同类题更有效。
课程目录
课程目录12 集
- 01 Python基础-1函数递归模拟.mp4
- 02 Python基础-2文件树.mp4
- 03 Python基础-3文件树事件.mp4
- 04 Python基础-4读取网页.mp4
- 05 Python基础-5抓取邮箱.mp4
- 06 Python基础-6抓取QQ.mp4
- 07 Python基础-7提取http.mp4
- 08 Python基础-8抓取邮箱简单程序框架实现.mp4
- 09 Python基础-9抓取邮箱的框架核心两个函数完成.mp4
- 10 Python基础-10广度遍历.mp4
- 11 Python基础-11深度遍历.mp4
- 12 Python基础-12作业.mp4






