尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

王卓数据结构PPT截图整理法:把课件变成可视化复习与刷题利器

发布时间:2026/9/26 3:17:45

资讯中心
01
ARTICLE

王卓数据结构PPT截图整理法:把课件变成可视化复习与刷题利器

王卓数据结构PPT截图整理法:把课件变成可视化复习与刷题利器
简介青岛大学王卓教授的《数据结构与算法》课程PPT截图适合正在系统学习数据结构、备战考研或复习算法基础的高校学生与自学者。资源以课堂讲授顺序为脉络覆盖绪论、数据元素和数据项、数据结构的两个层次逻辑结构与物理结构、逻辑结构分类、数据类型与抽象数据类型以及算法和算法分析、算法时间效率的度量等主题并以线性表为例具体展开顺序存储和链式存储的表示与实现。整包内容整合为1个PDF文件大小约102.64MB目录清晰便于按章节快速定位。目前已有4521人学习使用。通过这些截图笔记读者可对照王卓老师的板书式讲解梳理抽象数据类型、大O复杂度、顺序表与链表等重难点为后续栈、队列、树、图以及排序和查找算法打下扎实基础。1. 青岛大学王卓数据结构与算法课程PPT截图一份能当复习地图用的完整讲义准备考研 408、期末突击数据结构或者工作了几年想回头补算法基础的人大概率都听过青岛大学王卓老师的《数据结构与算法》课程视频。视频讲得细但光看视频有一个很实际的问题回看知识点时很难在一堆进度条里定位到“归并排序的 merge 函数到底怎么写”。这份 PPT 截图就是把王卓老师的课程课件按章节截成图片相当于一套带图带的复习地图。拿到手之后不用再一帧一帧去翻视频遇到模糊的概念直接按章节翻图配合严蔚敏那本《数据结构C 语言版》基本能把本科阶段的线性表、树、图、查找、排序一次过透。适合的人群很明确基础薄弱但需要系统性过一遍算法框架的考研党以及想快速找回“老师上课板书感”的自学者。2. 先把截图包整理成自己的知识库确认章节结构与文件命名2.1 这份 PPT 截图的章节脉络基本就是严蔚敏教材的镜像王卓老师的课件体系是跟着严蔚敏教材走的截图包的目录结构通常也是按章节拆开的。常见情况是一个文件夹对应一个知识模块比如“第2章 线性表”“第3章 栈和队列”“第4章 串”“第5章 树和二叉树”“第6章 图”“第7章 查找”“第8章 排序”。每一章下面是一张一张的 PNG 或 JPG命名可能是“2-1 线性表的定义.png”“2-5 单链表插入.png”这类带序号的形式也可能是纯数字编号。拿到资源后我做的第一件事不是看图而是先过一遍文件名清单。因为 PPT 截图最怕两件事一是章节顺序乱跳二是文件名和实际内容对不上。如果命名里带了页码那就好办如果全是 IMG_001 这种相机式命名就需要自己重新编号。这里给一个 bash 脚本可以按文件修改时间或原始序号批量重命名#!/bin/bash # 把当前目录下的 png/jpg 按数字序号重命名为 章节_三位序号.扩展名 i1 for img in $(ls -1 *.png *.jpg | sort); do # 用 %03d 保证序号是 001、002 这样方便排序 mv ./$img ./$(printf 第%d章_%03d.%s ${CHAPTER_NUM:-1} $i ${img##*.}) i$((i1)) done这个脚本的核心是把无序图片变成有序编号。${CHAPTER_NUM:-1}是借用环境变量指定当前章号如果没设置就默认第 1 章。printf %03d确保 1 变成 001这样按文件名排序时不会出现 10 排在 2 前面。第 24 行那个循环里的sort在文件名是数字时会按字典序排如果图片原文件是 IMG_1、IMG_2…… 没问题但如果出现 IMG_1、IMG_10、IMG_100建议先加sort -V做版本排序。字符集不统一的话中文文件名也可能乱序所以更稳妥的做法是先统一重命名成纯数字再人工分章。分章是第二步。我一般会建一个临时目录然后按视频课节数或 PPT 里的“章标题页”把图片归类。王卓老师的 PPT 里每一章的第一张图通常就是“第 X 章 标题”直接按这个去找分页点比一张一张核对内容快得多。2.2 把截图转成带标签的 PDF方便用浏览器或平板翻页单张图片在手机和电脑上翻起来都累尤其树和图那几章一张图要放大看细节。常见做法是用系统自带的打印功能或第三方工具把同章图片合成一份 PDF。Windows 下可以全选文件右键打印页面大小选“多页打印到单页”但这样每页会收缩字会变小。我一般把 A4 横排放 1 页导出后平板上阅读体验接近原始 PPT。如果想把 PDF 再拆成带书签的章节文件可以用 Python 的img2pdf库配合glob把每个文件夹单独打包import glob import img2pdf import os # 按章节文件夹处理每个文件夹输出一个 PDF for chapter_dir in sorted(glob.glob(第*章)): imgs sorted(glob.glob(os.path.join(chapter_dir, *.png)) glob.glob(os.path.join(chapter_dir, *.jpg))) # 过滤掉非图片文件避免打包报错 imgs [i for i in imgs if os.path.isfile(i)] if not imgs: continue pdf_path f{chapter_dir}.pdf with open(pdf_path, wb) as f: # img2pdf 会把图片按列表顺序排版成 PDF f.write(img2pdf.convert(imgs)) print(f{chapter_dir} - {pdf_path}共 {len(imgs)} 张截图)这段代码的作用是自动遍历“第X章”文件夹把所有图片按文件名顺序合成一个 PDF。这里有个坑图片列表如果包含“.DS_Store”这种隐藏文件img2pdf会直接报错所以要先os.path.isfile过滤一遍。另一个参数值得留意convert()默认采用原图尺寸如果原图是高清截图会让 PDF 体积变大但清晰度能保证。如果你的设备翻页性能一般可以先压缩图片再转 PDF常见做法是用PIL批量把单张图 resize 到 1920 宽度清晰度足够看文字体积能缩小一半以上。整理完 PDF 之后我会用浏览器打开配合“页面搜索”直接找关键字比如搜“KMP”就能跳到那一页。这一步对于后期复习特别重要因为截图里的文字是图片格式不能直接 CtrlF但 PDF 如果不做 OCR也搜不了。所以第四章会专门讲 OCR。3. 用截图复习的三种姿势对照教材、对照视频、对照刷题3.1 姿势一以图带书把教材伪代码变成可视化流程图严蔚敏那本《数据结构C 语言版》的最大痛点是伪代码抽象例子少初学者在脑子里很难把“删除带头结点单链表的第 i 个元素”和实际指针变化对应起来。王卓老师的 PPT 截图恰好补这一块她用图示把节点删除、树的中序遍历、图的邻接矩阵变换一步一步画出来。我复习时是“左图右书”——左边放 PPT 截图右边放教材对应页先看图理解过程再回头读伪代码发现很多原来觉得玄学的指针操作其实就是图上的箭头移动。比如看书上“串的模式匹配”那一节KMP 算法的 next 数组推导教材只给公式没有直观演示。用 PPT 截图就能看到老师把前缀和后缀怎么对齐画出来甚至每趟匹配失败后从哪里继续跳都标红。这类图单独截出来放进错题本比抄一遍文字笔记有用得多。注意这时候不要直接存整张 PPT 图最好用截图工具把关键局部裁剪出来否则复习时信息密度太低容易一眼扫过。3.2 姿势二跟着 B 站视频逐页过把截图当“弹幕笔记”很多人已经在看王卓老师的视频课但视频时间跨度长二倍速看完还是记不住。我自己的习惯是先下载 PPT 截图然后在视频播放的间隙把当前页截图和视频里的这一节对齐发现老师跳过了某页就标记一下“非重点”。这个过程相当于给视频做索引以后想回看某一处不用拖进度条直接找截图定位再点视频到对应时间戳。具体操作上我用一个简单的表格记录视频的 P 数和截图页码的对应关系。比如视频 P 数视频标题截图起始页截图结束页备注P05单链表的基本操作00210035插入删除重点P12栈的应用-递归00400048递归工作栈P23二叉树遍历01020130前后中序对照这个表不用一开始就建全看视频时随手记一下就行。好处是后期复习时你要回顾“二叉树的非递归后序遍历”直接在表里找到 P23 和截图 0102-0130十分钟就能过一遍完整讲解比从头翻三十分钟视频高效得多。3.3 姿势三把算法流程截图和刷题代码模板并排看复习数据结构最终要落到写题上。特别是准备 408 的同学算法题不会考太复杂的东西但经典题型的代码必须能默写。PPT 截图里的算法步骤图正好可以作为“代码模板”的注释。比如手写归并排序时合并两个有序表的那段 while 循环很多人容易把边界条件写死。我会先把 PPT 里“两路归并”的示意图截出来打印在纸上旁边再抄一遍代码模板每次写的时候先看图再对照代码形成“图 - 边界条件 - 循环语句”的肌肉记忆。另一个常用做法是把图和 LeetCode 题目对应。比如“链表的反转”这题王道 408 或者力扣上都有标准解法但如果你只背代码很容易忘记递归版和迭代版的指针变化。我一般会先把 PPT 的“头插法建表”那张图看熟因为头插法本质就是反转链表的雏形。理解了图里 head 指针和 p 指针的移动再看代码就非常顺畅。下面是一个经典迭代反转的单链表代码模板配合 PPT 的“头插法”图看会很清晰struct ListNode* reverseList(struct ListNode* head) { struct ListNode *prev NULL, *curr head; while (curr ! NULL) { // 先保存下一跳否则修改 curr-next 后就找不到了 struct ListNode *nextTemp curr-next; curr-next prev; // 当前节点掉头指向前一个 prev curr; // prev 后移 curr nextTemp; // curr 后移 } return prev; }这段代码的逻辑和 PPT 里“头插法”的演示图一一对应nextTemp就是图里被黄色标出的“暂存后继节点”每次循环只做一次指针变更不用考虑后面的节点因为已经被存住了。实际写题时如果画出当前节点和它的下一个节点再画一个 prev这道题的代码就是模板化的八行。不要背代码而是先把 PPT 的指针移动图默画一遍再写代码正确率会高很多。4. 从截图中榨出最大价值OCR 提词、重点图裁剪、算法对比表4.1 用 OCR 把 PPT 截图转成可搜索的文字笔记PPT 截图虽然是图片但它的文字是标准印刷体OCR 识别率非常高。我建议用开源工具解决不建议直接拍照翻译类 App因为批量处理效率低。Windows 上可以用 PaddleOCR 的 Python 接口macOS 可以用内置的 Shortcuts但跨平台最省心的是tesseract配合中文语言包。下面演示一个批量识别单章的脚本import os import pytesseract from PIL import Image # 先安装 tesseract-ocr 并下载 chi_sim 语言包 pytesseract.pytesseract.tesseract_cmd rC:\Program Files\Tesseract-OCR\tesseract.exe input_dir ./第5章_树和二叉树 output_txt ./第5章_OCR.txt results [] for img_name in sorted(os.listdir(input_dir)): if not img_name.lower().endswith((.png, .jpg, .jpeg)): continue img_path os.path.join(input_dir, img_name) # 设 psm6 表示把整页当作一个文本块识别适合 PPT 版面 text pytesseract.image_to_string(Image.open(img_path), langchi_sim, config--psm 6) # 把识别出的内容连同页码写进一个纯文本文件 results.append(f {img_name} \n{text}\n) with open(output_txt, w, encodingutf-8) as f: f.write(\n.join(results)) print(识别完成结果写入, output_txt)这段脚本的常见问题是识别乱码特别是 PPT 里的公式和箭头。公式部分 OCR 大概率会识别成乱码比如把 ∑ 识别成 X把 → 识别成 -。所以我的策略是只对标题、定义、结论文字做 OCR算法步骤里的图保留原图。识别出来的 txt 文件直接塞进 Obsidian 或 Notion 里后续用搜索功能快速定位“AOE 网”“关键路径”这类词能省掉大量翻图时间。还有一个值得调的参数是--psm 6。如果 PPT 截图有分栏或者文字区域很分散psm 6会把所有文字强行拼成一段顺序容易乱改成--psm 3全自动分段或者--psm 4单列文本会更合适。这里没有通用最优解我一般先抽三张图试三个 psm 值看哪个输出顺序和视觉顺序一致再批量跑。4.2 把 KMP、堆排序、图遍历这类“状态变化型”算法单独裁剪成 GIF 素材PPT 截图是静态的但很多算法最重要的不是最终结果而是中间状态的变化。比如堆排序的“筛选法建堆”一张 PPT 只能展示某一步交换后的结果前后两步之间的指针移动没法在静态图中看清。我的做法是把相邻几张 PPT 截图按顺序拼成一张长图或者用 Python 把连续几张图生成一个简单的 GIF模拟动图效果import imageio import glob # 按文件名排序取堆排序建堆过程的连续 8 张截图 files sorted(glob.glob(./堆排序/sift_*.png))[:8] images [imageio.imread(f) for f in files] # 0.8 秒一张循环播放两次 imageio.mimsave(./堆排序_过程.gif, images, duration0.8, loop2) print(生成 GIF 成功共使用, len(images), 张截图)这段代码的前提是你已经把“堆排序”这一节的关键截图单独命名成sift_1.png、sift_2.png这样的序列。duration0.8表示每张图停留 0.8 秒太快看不清指针位置太慢又拖节奏0.8 秒是比较舒适的演示速度。loop2只循环两轮方便集中精力看前两个变化。生成后的 GIF 放进手机相册空闲时刷一下等于把“排序算法”这一章用动画过了一遍。对于贪心算法、回溯这类同样强调过程变化的章节这个方法一样适用。4.3 做一张“算法复杂度速查表”把截图里的结论汇总成一张表格PPT 截图里的复杂度信息很全但分散在各页。我会把每种算法的时间复杂度、空间复杂度、稳定性统一抄到一张表格里贴在书桌前。整理时要注意 PPT 里的复杂度很可能是用大 O 表示的但没说最坏、平均和最好情况的区别。自己补全时以严蔚敏教材和王道书为准。算法最好平均最坏空间复杂度稳定性直接插入排序O(n)O(n²)O(n²)O(1)稳定冒泡排序O(n)O(n²)O(n²)O(1)稳定简单选择排序O(n²)O(n²)O(n²)O(1)不稳定快速排序O(n log n)O(n log n)O(n²)O(log n)不稳定堆排序O(n log n)O(n log n)O(n log n)O(1)不稳定归并排序O(n log n)O(n log n)O(n log n)O(n)稳定这张表做得越早越好。不要在考前才去翻 PPT 找“哪些排序是不稳定的”而是平时每学完一章就补充一行。你会发现有规律不稳定的一般都是交换式排序跨距离跳跃的稳定的一般是相邻比较或归并类。用规律记比死记硬背耐用。另外表里的空间复杂度针对的是数组实现如果题目要求链表实现空间复杂度会不同需要自己额外标注。5. 避坑与常见问题PPT 截图用起来容易翻车的五个地方5.1 现象图片放大后模糊公式和下标看不清原因部分截图是从视频或低分辨率源导出的尤其是公式密集页缩放 150% 之后就出现锯齿。解决优先看大图文件名检查是否有“高清版”文件夹如果没有把图片放进 Photoshop 或在线工具做“双立方插值放大”或者用缩放算法如 Lanczos 重采样再用 OCR 补读。如果只是个别页模糊我一般直接翻对应的王卓视频片段用视频里的板书补全不要死磕截图。5.2 现象截图顺序和视频实际讲解顺序不一致PPT 页码存在跳页原因老师可能跳过了部分页面或者截图工具把某页重复截了两次。解决建立章节内“视频 P 数-截图页码”对照表边看视频边把跳过的页标记为非重点。如果发现某个知识点在截图里找不到先在本章前后找很可能被放到了相邻章节比如二叉树遍历的递归实现放在“递归”小节里而不是“二叉树”文件夹。我遇到过一次把“图的深度优先遍历”放到“图的连通性”里找了十分钟才明白。5.3 现象PPT 里的代码只有框架没有完整注释原因课件里的代码通常为了上课讲解省略了头文件和 main 函数变量名也偏短。解决先照着 PPT 的框架在本地编辑器里手敲一遍补全头文件和边界条件。不要直接用代码跑数据因为 PPT 里可能是伪代码。比如栈的顺序存储PPT 常写S-top但实际 C 语言里可能是一个结构体数组加 int 指针需要自己转换成可编译代码。这时候王道 408 的代码题集就派上用场你在里面找到对应题目把 PPT 的“算法思路”和代码题的“标准实现”对照把截图作为思路注释贴在代码上方。5.4 现象只看截图以为自己全懂了一做题就卡壳原因截图是被动输入看懂了流程不代表能独立画出来。解决强制自己做“遮图复现”——看完一张 PPT 截图后合上图在白纸上默画它的数据结构变化过程。比如看完“堆排序筛选法”那一页把画板打开自己画一个无序数组然后一步一步手动交换父子节点直到完全调好。如果画的中间卡住再翻截图定位卡住的步骤。这一条是血泪教训我最初两周刷完截图没动手画模拟考时手写代码完全写不出。5.5 现象截图文件多手机电脑同步时经常出现乱序和缺失原因不同设备的相册排序规则不同用网盘同步时还可能漏传文件夹。解决不要在手机里直接翻原始截图只用合成后的 PDF 或整理好的“结构化目录”。把 PDF 和章节索引表同步到平板上原始图片放一个压缩包存网盘不轻易解压。如果后续新增了补拍的截图务必用第 2 章的脚本重新编号避免新旧文件冲突。记得给最终整理的文件夹打总压缩包命名加日期比如“数据结构_王卓PPT截图_202506_整理版”方便回退到上一版。6. 进阶把 PPT 截图改造成自己的算法速查手册与刷题清单整理到这一步截图已经不再是散落的图片了而是一套带有索引、OCR 文本和对照表的个人知识库。接下来的进阶操作是把它压缩成“考前半小时速览”的素材包。我习惯把每一章的关键截图按“算法四要素”重新归位输入、输出、核心步骤、复杂度边界。比如归并排序输入是无序数组输出是有序数组核心步骤是“分两半-递归-合并”复杂度边界是 O(n log n)、空间 O(n)一定要额外标注归并的合并函数需要临时数组。把这一组信息做成一页笔记配一张 PPT 的合并过程截图。这样做的好处是考前复习一个算法只需要看 10 秒钟截图加 10 秒文字不需要反复翻整章 PPT。第二个进阶动作是建立“截图到刷题”的映射表。以 408 真题和 LeetCode hot 100 为题库每道题对应一个 PPT 原理图。比如“链表相交”对应“单链表指针操作”那一组图“二叉树的最大深度”对应“二叉树遍历顺序”那一组图“排序数组找重复数”对应“顺序表插入删除”的复杂度分析图。我在表格里给每个题目标注“准备前看哪三张图”刷题前先看图再写代码。最后要给这套素材做一次“可用性测试”放下所有资料只看章节索引能不能说出每种排序的思想再随机抽三张不同的截图能不能不看文字讲清旁边的内容如果不能说明索引还不清晰。从那以后我每次学完一个模块都强制自己走一遍“遮图复现 刷题映射”这两个动作不再盲目堆量。希望这份既当讲义又当题图的 PPT 截图整理法能帮你在数据结构这条路上少走几个来回。本文还有配套的精品资源点击获取
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。