数据结构大题
梳理查找、图、树与排序的知识联系,按构造、模拟、计数和论证题讲解方法。
做综合题之前,先要知道这一章讲了哪些东西,以及这些知识怎样联系起来。比如存储系统,不能只背 Cache 组数和页表项地址的公式,还要知道虚拟地址怎样变成物理地址,Cache 缺失与缺页各自会发生什么。理解这条访问过程,才能判断一道小问应该用哪种方法。
这里按九个专题整理,阅读顺序是:知识范围与主线 → 常见考点和题型 → 相关原理 → 各类题的解法 → 真题与易错点。
初学时建议顺着读完一个专题;做过题后,可以按题型回查方法。遇到不理解的公式,应回到它对应的结构或过程,而不是继续背下一条口诀。长题综合题实践另有题干分析和建模示范;算法设计见算法设计题解题框架。
下面的“第一笔”用来提醒你先确认什么。它只是进入题目的起点,后面仍要按具体问法推导。
| 页 | 覆盖的题号 | 第一笔写什么 |
|---|---|---|
| 数据结构大题 | 41、42 | 认出对象:散列表 / 图 / AOE / 树 / 排序 |
| 数的表示与运算 | 43 附近 | 先写字长、类型和取值范围 |
| 存储系统 | 43~46 | 把所有容量换算成位数 |
| CPU 与指令系统 | 43、44 | 把字段翻成一句寄存器传送 |
| I/O 计算 | 43、44 | 定「一次传送多少字节」 |
| 进程同步与信号量 | 45、46 | 先写信号量声明段和初值 |
| 进程调度与状态转换 | 45、46 | 整理事件、就绪队列与抢占规则 |
| 文件系统与磁盘 | 45、46 | 算「一块能放几个地址项」 |
| 计算机网络综合题 | 47 | 先定这一问落在哪一层 |
先按题干的动作分流,再进入对应页面:
先看题目要你做什么
├─ 写算法、代码、复杂度 → 算法设计题框架
├─ 按规则逐轮填表/画图 → 数据结构大题
├─ 算位数、地址、时间、次数 → 看关键词进入数的表示 / 存储 / I/O / 文件系统 / 网络
├─ 写 RTL、控制信号、机器码 → CPU 与指令系统
├─ 写 P/V、前趋边、互斥 → 进程同步与信号量
└─ 排时刻线、判状态、解释机制 → 进程调度与状态转换
进入页面后,先看知识范围,判断具体题型,再选择计算、模拟或论证的方法。
题号只能作参考:2014、2016、2019 三年的科目顺序被打乱过,组原不一定在 43、44,网络也不一定在 47。真正可靠的是题干里的关键词。
| 题干里出现 | 去哪一页 |
|---|---|
| 散列函数、装填因子、邻接矩阵、活动与工期、归并段 | 数据结构大题 |
| 一小段 C 代码问机器数、会不会溢出、IEEE754 | 数的表示与运算 |
| Cache 数据区容量、路数、块大小、页大小、命中率、缺失损失 | 存储系统 |
| 指令格式图、字段含义表、数据通路图、虚线控制信号、节拍 | CPU 与指令系统 |
| 定时查询、中断、DMA、数据传输率、CPU 时间占比 | I/O 计算 |
| 若干进程或线程共享资源、前趋图、P/V 或 wait/signal | 进程同步与信号量 |
| 到达时刻与运行时间表、时间片、优先级、饥饿、系统调用步骤排序 | 进程调度与状态转换 |
| 目录项、inode、FAT、索引块、位示图、磁道与扇区 | 文件系统与磁盘 |
| 子网掩码、路由表、MAC 与 IP、RTT 与拥塞窗口、帧长 | 计算机网络综合题 |
同一门课的两道综合题常常连做:组原一道给指令格式、一道给它的数据通路或 Cache;操作系统一道考同步、一道考存储或文件。两道题共用一台机器的参数时,第一题算出的位数直接抄到第二题。
如果某一门的整体结构还没搭起来,先看 核心知识图谱 里对应的一章。图谱管的是知识之间的完整关系,本节每页先说明知识范围,再将常见题型与对应解法连接起来。
落笔写到什么程度、怎样保住过程分,见 408 大题书写实践。
每页的历年题索引适合选题,真正练习时建议打开对应真题,按“题干条件 → 第一笔 → 中间过程 → 结论”四行写草稿。答案中保留单位、状态变化、地址分解和选择理由;只写最终数字通常只能拿结果分。遇到评分说明时,优先按评分点逐项作答,再压缩无关叙述。
例如 Cache 数据区 1 KB、2 路组相联、块大小 16 B:先写 组数 = 1024 ÷ (2 × 16) = 32,再写 块内地址 4 位、组号 5 位,最后由题给物理地址位数求 Tag。这样“容量换算”(过程分)和“字段划分”(结果分)都不会混在一个数字里。
梳理查找、图、树与排序的知识联系,按构造、模拟、计数和论证题讲解方法。
从位宽、编码和类型规则出发,讲解机器数、整数运算、标志位、浮点精度与运算器题。
连接存储层次、地址翻译和数据访问,讲解字段计算、替换模拟、命中率与访问时间。
从指令语义连接汇编、数据通路和控制器,分类讲解编码、寻址、控制信号与流水线题。
梳理总线、接口、中断与 DMA 的分工,讲解 CPU 开销、传送能力和总线时间计算。
从共享状态、先后关系和资源数量建模,讲解信号量设计、前趋关系、并发与死锁检查。
区分调度、进程状态与 CPU 模式,讲解事件模拟、调度指标、动态优先级和系统调用题。
沿目录到数据块的访问路径,讲解文件分配、索引容量、访盘、空间回收与磁盘调度。
按网络分层连接一次通信,讲解地址规划、逐跳转发、协议字段、窗口与时延题。