870 字
2 分钟
考研专业课学习记录2026-06-18
2026-06-18

考研专业课学习记录 | 2026-06-18#

今日学习内容#

三个小时,开始数据结构强化,主要看了时间复杂度求解,以及顺序表的基础操作代码背诵

AI知识点带复盘#

1. 时间复杂度求解考点复盘#

考研408中时间复杂度是数据结构开篇必考的基础核心考点,核心考察渐进时间复杂度的大O表示法规则与常见场景计算:

  • 计算规则:只保留最高阶项,忽略常数项、低阶项与最高阶项系数,例如3n²+5n+8的复杂度为O(n²)2nlog₂n的复杂度为O(nlogn)
  • 常见复杂度阶数排序O(1) < O(logn) < O(n) < O(nlogn) < O(n²) < O(2^n) < O(n!)
  • 常考场景推导: 单层循环执行n次,复杂度为O(n);两层嵌套循环复杂度为O(n²);步长为倍数的循环(如for(i=1; i<=n; i*=2))复杂度为O(logn);递归场景如斐波那契朴素递归复杂度为O(2^n),二分查找递归实现复杂度为O(logn)

2. 顺序表基础操作考点复盘#

顺序表是线性表的主流存储结构,是408代码题、简答题的高频考点:

  • 两种实现形式:静态分配(使用固定长度数组,无法动态扩容)和动态分配(通过malloc申请堆内存,支持容量扩容)。
  • 核心基础操作考点
  1. 初始化:静态分配直接初始化数组与表长;动态分配需要申请指定大小的内存空间,初始化表长与当前容量。
  2. 按位置插入:需要先校验表是否已满、插入位置合法性(严版教材合法范围为1<=i<=L.length+1),插入时需从表尾到插入位置依次后移元素避免数据覆盖,最后更新表长。
  3. 按位置删除:校验删除位置合法性,将删除位置后的所有元素依次前移覆盖,最后更新表长。
  4. 查找操作:按位查找直接返回对应下标元素,按值查找遍历顺序表匹配目标元素并返回下标。
  • 易错提醒:插入操作必须从后往前移动元素,否则会提前覆盖未处理的数据;动态顺序表扩容通常采用翻倍扩容策略,减少频繁内存申请的开销。

问题与反思#

  1. 对递归场景的时间复杂度分析还不够熟练,需要额外练习典型递归算法的复杂度推导
  2. 顺序表插入操作的合法边界取值容易混淆,需要再次结合教材梳理确认
  3. 默写顺序表代码时,容易遗漏表满、非法位置判断等异常处理逻辑

收获与总结#

  1. 掌握了渐进时间复杂度的快速计算方法,能够准确识别常见算法的复杂度阶数
  2. 梳理清楚了顺序表的核心操作逻辑,能够独立默写静态顺序表的插入、删除、查找的标准代码实现
  3. 明确了数据结构强化阶段需要结合考点针对性练习,不能仅停留在概念背诵层面

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

文档内容由 AI 辅助生成

分享

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

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

部分信息可能已经过时

目录