993 字
3 分钟
考研专业课学习记录2026-07-02
2026-07-02

考研专业课学习记录 | 2026-07-02#

今日学习内容#

今日累计学习时长约1.5小时,系统复习了408考研数据结构中单链表的核心标准实现写法,覆盖头插法建表、尾插法建表、按位查找结点、按值查找结点、指定位置插入结点、删除指定结点六大核心考点操作。

AI知识点带复盘#

1. 头插法建表#

考研常考察逆序建表、链表逆置场景,408默认推荐使用带头结点的链表简化边界操作:每次新建结点后,将新结点的next指向当前头结点的next,再将头结点的next更新为新结点,整体时间复杂度为O(n)O(n),无需维护尾指针,适合快速构建逆序链表。

2. 尾插法建表#

常用于构建顺序链表,核心是需要额外维护尾指针rear,初始时rear = 头结点,每次新建结点直接挂载到rear->next,再更新rear = 新结点,整体时间复杂度为O(n)O(n),避免了每次遍历到表尾的开销,是考研和工程中常用的建表方式。

3. 按位查找结点#

408明确要求位序从1开始计数,查找时需先判断位序合法性(i < 1则非法),从首元结点(头结点的next)开始遍历,循环i-1次即可找到对应结点,若遍历到表尾仍未找到则返回NULL,易错点为误将遍历次数写为i次。

4. 按值查找结点#

遍历链表,依次比较每个结点的data域,返回第一个匹配的结点指针,未找到返回NULL,考研中常结合具体业务场景考察,比如查找指定元素的位置。

5. 指定位置插入结点#

核心步骤为:①找到插入位置的前驱结点(即第i-1个结点);②临时保存前驱结点的next指针;③将新结点的next指向临时保存的指针;④将前驱结点的next指向新结点。需注意边界情况:当i=1时,前驱结点为头结点,直接执行插入即可。

6. 删除指定位置结点#

核心步骤为:①找到待删结点的前驱结点;②临时保存待删结点的指针;③将前驱结点的next指向待删结点的next;④释放待删结点的内存。易错点为未释放内存造成内存泄漏,以及误直接操作待删结点的指针导致断链。

此外408高频考点补充:链表操作的考察核心是指针操作的顺序边界场景处理,常以代码补全、代码改错、手写代码的形式出现。

问题与反思#

今日复习时发现自己对尾插法中尾指针的初始化时机、插入/删除操作的边界场景(如删除尾结点、插入表头)的代码细节仍不够熟练,部分场景下容易出现指针断链的错误,后续需要针对性编写边界场景的测试用例进行练习。

收获与总结#

  1. 系统梳理了单链表所有核心操作的标准代码实现逻辑,明确了408考研中链表操作的考察侧重点;
  2. 掌握了带头结点链表简化边界操作的优势,纠正了此前对按位查找遍历次数的误区;
  3. 明确了各操作的时间复杂度和适用场景,比如头插法适合逆序建表,尾插法适合顺序建表。

💡 碎碎念:踏实吃透每一个知识点!

文档内容由 AI 辅助生成

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

考研专业课学习记录2026-07-02
https://elysiaweb.vercel.app/posts/408/7-2/
作者
程翊雪
发布于
2026-07-02
许可协议
Unlicensed

部分信息可能已经过时

目录