线性表与链表
约 35 分钟
本课对应 408 考纲中的 线性表与链表。目标不是记一句定义,而是能在选择题中辨析条件,在综合题中写出推导。
核心模型
顺序表支持 O(1) 随机访问;单链表已知结点后插入是 O(1),按下标查找是 O(n)。
做题时先写清对象、状态、下标范围和计量单位。遇到算法要写不变量与复杂度;遇到硬件、系统或网络状态题,要按时间顺序列出每次状态变化。
推导与例题
删除单链表结点 p 的后继,只需改 p.next 并释放原后继;若寻找第 i 个结点仍需从头扫描。
严格作答分四步:确定已知量;选择定义或公式;逐步代入;检查边界和单位。若题目改变缓存容量、页框数、窗口或输入规模,应重新模拟,不能照搬结论。
高频陷阱
把‘已知结点地址’和‘只知道下标’混在一起,会误判操作复杂度。
判断一个选项时,要找出其中的量词和前提。“一定”“任何”“只要”往往需要反例检查。相似概念必须成对区分,并能各举一个成立与不成立的例子。
本课验收
- 完成单选,并解释三个错误项具体违反了什么条件。
- 完成多选;漏选与多选都按错误处理。
- 独立完成计算或应用题,保留中间过程。
- 24 小时后不看正文重新作答一次。
只会复述概念不算完成;能算、能画状态、能用反例排错才算掌握。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。