# 软考软件设计师 · 每日考点速递 2026年7月9日(周四)| 下半年备考倒计时 **107天** | 基础精读第11天

📅 2026/7/13 21:53:03 👁️ 阅读次数 📝 编程学习
# 软考软件设计师 · 每日考点速递 2026年7月9日(周四)| 下半年备考倒计时 **107天** | 基础精读第11天

软考软件设计师 · 每日考点速递

📅 2026年7月9日(周四)| 下半年备考倒计时107天| 基础精读第11天

🎯 今日专题:数据结构与算法核心专题+三阶段45天高效复习法+高频考点8大模块速查表


一、数据结构与算法核心专题(15-18分必争模块)

1. 排序算法终极对比表(8种全覆盖)

算法平均最好最坏空间稳定性适用场景
冒泡排序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^1.3)O(n)O(n²)O(1)❌不稳定中等规模
快速排序O(nlogn)O(nlogn)O(n²)O(logn)❌不稳定大规模通用首选
归并排序O(nlogn)O(nlogn)O(nlogn)O(n)✅稳定需稳定+外部排序
堆排序O(nlogn)O(nlogn)O(nlogn)O(1)❌不稳定Top-K/空间受限
基数排序O(d(n+r))O(d(n+r))O(d(n+r))O(n+r)✅稳定多关键字/数字排序

速记口诀:稳定只有「直冒归」(冒泡、插入、归并、基数)

⚠️陷阱提醒:快排最坏退化为O(n²)——已排序数组+首元素作pivot时触发。归并排序额外空间O(n)是唯一短板。

2. 快速排序一趟模拟(真题高频)

初始数组: [49, 38, 65, 97, 76, 13, 27, 49] pivot = 49(选第一个元素) 步骤: ① i=0, j=7 → arr[j]=49 ≥ pivot, j-- ② i=0, j=6 → arr[j]=27 < pivot → 交换 arr[i]↔arr[j] → [27, 38, 65, 97, 76, 13, 49, 49] ③ i=1, j=6 → arr[i]=38 < pivot, i++ ④ i=2, j=6 → arr[i]=65 ≥ pivot → 交换 arr[i]↔arr[j] → [27, 38, 49, 97, 76, 13, 65, 49] ⑤ i=3, j=5 → arr[j]=13 < pivot → 交换 arr[i]↔arr[j] → [27, 38, 13, 97, 76, 49, 65, 49] ⑥ i=3, j=5 → arr[i]=97 ≥ pivot, j-- ⑦ i=3, j=4 → arr[j]=76 ≥ pivot, j-- ⑧ i=3, j=3 → i==j → 交换arr[i]↔pivot → [27, 38, 13, 49, 76, 97, 65, 49] 一趟结果: [27, 38, 13, 49, 76, 97, 65, 49] 左子数组 pivot 右子数组

3. 堆排序核心步骤(必会)

堆排序两大阶段:①建堆 ②不断取堆顶+调整

建大顶堆过程(从最后一个非叶子节点开始,自下而上调整): n个节点 → 最后一个非叶子节点 = ⌊n/2⌋ - 1 例:arr = [4, 6, 8, 5, 9] 建堆调整:从 index=1(=5/2-1) 开始 ①调整6:左子6,右无 → 不变 [4,6,8,5,9] ②调整4:左子6,右子8 → 8>6,8>4 → 交换4↔8 → [8,6,4,5,9] 继续向下:4的子节点5>4 → 交换 → [8,6,5,4,9] ③继续调整8的子树... 取堆顶+调整(n-1次循环): 每次将堆顶(最大值)与末尾交换,堆大小-1,从根开始调整

秒杀技巧:堆排序第i趟后,末尾i个元素已是有序的(升序排列中,前i个是最大值放在末尾)

4. 查找算法对比

查找方法前提条件时间复杂度空间适用场景
顺序查找O(n)O(1)无序/链表
二分查找有序数组O(logn)O(1)有序数组
哈希查找哈希表O(1)平均O(n)快速定位
二叉排序树BSTO(logn)平均O(n)动态查找

哈希冲突四种解决方式

  1. 开放定址法:线性探测Hi=(H(key)+di)%m
  2. 链地址法(拉链法):同义词链表
  3. 再哈希法:多重哈希
  4. 公共溢出区法:统一溢出表

5. 核心数据结构速查

二叉树五大性质

  • 性质1:第i层最多 2^(i-1) 个节点
  • 性质2:深度为k最多 2^k - 1 个节点
  • 性质3:叶子节点数 n₀ = 度为2的节点数 n₂ + 1,即n₀ = n₂ + 1
  • 性质4:完全二叉树 n个节点的深度 ⌊log₂n⌋ + 1
  • 性质5:完全二叉树叶子数 = ⌈n/2⌉

四种遍历速记(以二叉树为例):

A / \ B C / \ \ D E F 前序(根左右):A → B → D → E → C → F 中序(左根右):D → B → E → A → C → F 后序(左右根):D → E → B → F → C → A 层序(逐层): A → B → C → D → E → F

由前序+中序构造二叉树

  1. 前序第一个 =根节点
  2. 在中序中找到根 → 左边=左子树,右边=右子树
  3. 递归处理左右子树

哈夫曼树构造与WPL计算

  • 构造:每次取两个最小权值合并(贪心策略)
  • WPL = Σ(叶节点权值 × 叶节点到根的路径长度)
  • 秒杀:哈夫曼树中没有度为1的节点,n个叶节点 → 总节点数 = 2n - 1

二、三阶段45天高效复习法(CSDN 7/8最新发布)

阶段总览

阶段一:快速入门(Day 1-15)→ 知识接触 阶段二:章节精讲(Day 16-35)→ 深度理解 阶段三:专题突破(Day 36-45)→ 熟练应用

阶段一:快速入门(Day 1-15)

天数任务目标
Day 1-3构建七大知识领域框架画出完整知识图谱
Day 4-7真题感知训练熟悉题型+了解难度
Day 8-15基础能力强化各模块核心概念过关

七大知识领域

  1. 计算机系统基础
  2. 程序语言与编译原理
  3. 数据结构与算法
  4. 软件工程与项目管理
  5. 数据库系统
  6. 计算机网络与安全
  7. 面向对象技术

阶段二:章节精讲(Day 16-35)—— 核心阶段!

采用「3-2-1学习法」攻克每个模块:

  • 3天系统学习官方教程章节
  • 2天专项刷题训练
  • 1天错题分析与知识补全

阶段三:专题突破(Day 36-45)

日期内容评估指标
Day 362025年真题时间分配合理性
Day 382024年真题知识点盲区识别
Day 402023年真题答题规范度
Day 42模拟卷A抗压能力测试
Day 44模拟卷B最终水平评估

💡每天投入3-4小时高效学习,周末延长至6小时。45天总学习时长保证150小时以上。


三、高频考点8大模块速查表

模块分值占比(2023-2025统计)

数据结构与算法 ████████████ 12-15分 (Top 1!) 软件工程 ██████████ 10-12分 面向对象技术 ████████ 8-10分 数据库系统 ███████ 7-9分 计算机网络 █████ 5-7分 信息安全 ████ 4-6分 知识产权 ███ 3-5分 项目管理 ███ 3-5分

8大模块核心考点速查

模块核心考点必会公式/技巧
①软件工程7种开发模型对比/ISO9126/CMM五级/测试方法/McCabe环复杂度口诀"功可易效可移"/维护类型占比
②面向对象UML六关系/SOLID七大原则/include vs extend方向六关系从弱到强:依赖→关联→聚合→组合→泛化→实现
③数据库范式判断三步法/ER图转关系/SQL高级查询/ACID1:1任一方/1:N放多方/M:N独立表
④数据结构排序8种对比/树遍历/哈夫曼WPL/图算法稳定=直冒归/叶子n₀=n₂+1
⑤算法设计四大策略/主定理/回溯框架/算法填空陷阱数组下标从0/递归终止/回退操作x[t]=0
⑥计算机网络OSI七层/TCP vs UDP/子网划分/端口号三次握手四次挥手/路由器=网络层
⑦信息安全加密对比/数字签名/国密SM2/SM3/SM4私钥签名公钥验签/CIA三要素
⑧知识产权著作权/专利/商标保护期口诀"著完成专申请商注册"

高频失分点Top 5(2025统计)

排名失分点失误率
1算法时间复杂度计算42%
2设计模式场景混淆39%
3DFD平衡性检查35%
4UML关联关系误用31%
5数据库范式判断28%

四、设计模式速记口诀(12个高频模式)

创建型5种

单例(一个实例)/工厂(创建对象)/抽象工厂(产品族) /建造者(复杂组装)/原型(克隆复制)

结构型7种

适配器(接口转换)/桥接(抽象分离)/组合(树形结构) /装饰器(动态增强)/外观(简化接口)/享元(共享细粒度)/代理(控制访问)

行为型11种

策略(算法切换)/观察者(通知订阅)/模板方法(骨架复用) /责任链(逐级传递)/命令(请求封装)/迭代器(遍历集合) /状态(行为随状态变)/中介者(解耦通信)/备忘录(保存恢复) /访问者(操作分离)/解释器(语法解释)

高频秒杀口诀

  • 创建型:工厂单例建造者,原型抽象不混淆
  • 结构型:适配桥接组合好,装饰外观享元省
  • 行为型:策略观察迭代忙,状态模板责任链

五、每日10题精练

选择题(7道)

Q1.采用快速排序对序列 {49, 38, 65, 97, 76, 13, 27, 49} 进行一趟排序后,结果为?

答案:{27, 38, 13, 49, 76, 97, 65, 49}(以49为pivot)

Q2.以下排序算法中,不稳定的是?

A. 冒泡排序 B. 插入排序 C. 归并排序D. 快速排序

解析:稳定只有「直冒归」(冒泡、插入、归并、基数)。快排可能改变相等元素的相对位置。

Q3.一棵完全二叉树有700个节点,则其叶子节点数为?

答案:350个。完全二叉树叶子数 = ⌈n/2⌉ = ⌈700/2⌉ = 350

Q4.哈夫曼树中不存在度为1的节点,若叶子节点数为n,则总节点数为?

A. 2nB. 2n-1C. 2n+1 D. n+1

解析:n₀=n, n₂=n₀-1=n-1, 总节点n₀+n₂=2n-1

Q5.以下哪种算法平均时间复杂度最优?

A. 冒泡排序O(n²)B. 快速排序O(nlogn)C. 插入排序O(n²) D. 选择排序O(n²)

Q6.LRU页面置换算法中,3个页框访问序列1,2,3,4,1,2,5,1,2,3,4,5,缺页次数为?

答案:10次(详细过程见前序推送)

解析:逐个检查,命中条件=页已在页框中。只有访问1(第5次)、2(第6次)、5(第12次)命中,其余缺页。

Q7.二叉排序树(BST)的中序遍历结果是?

答案:一个递增的有序序列。这是BST的核心性质。

判断题(3道)

Q8.✅/❌ 归并排序的空间复杂度为O(1)。

答案:❌。归并排序需要O(n)的额外空间用于合并操作。

Q9.✅/❌ 堆排序是一种不稳定的排序算法。

答案:✅。堆排序过程中相等元素的相对位置可能改变。

Q10.✅/❌ 在n个节点的完全二叉树中,度为0的节点数等于度为2的节点数加1。

答案:✅。这是二叉树的基本性质:n₀ = n₂ + 1。


六、必考公式速查卡

数据结构类

公式说明
n₀ = n₂ + 1二叉树叶子=度为2+1
⌈n/2⌉完全二叉树叶子数
⌊log₂n⌋ + 1完全二叉树深度
2n - 1哈夫曼树n叶总节点
O(nlogn)基于比较排序最优下界
T(n) = 2T(n/2) + O(n) → O(nlogn)主定理情况2(归并排序)

操作系统类

公式说明
缺页率 = 缺页次数/总访问次数页面置换核心指标
T = (k+n-1) × Δt_max流水线总时间
吞吐率 = n/T流水线吞吐率

计算机网络类

公式说明
n(R-1)死锁最大资源数
2^r ≥ m+r+1海明码校验位公式
主机数 = 2^h - 2子网可用主机数

七、今日必记要点

  1. 排序稳定性口诀:「直冒归」(冒泡/插入/归并/基数),其他都不稳定
  2. 快排最坏O(n²):已排序+首元素pivot时退化
  3. 归并空间O(n):唯一需要额外空间的经典排序
  4. n₀ = n₂ + 1:适用于所有二叉树,非叶子节点不含度为1
  5. 哈夫曼树:没有度为1的节点,WPL = Σ(权值×路径长)
  6. LRU淘汰最近最少使用:注意区分FIFO先进先出
  7. BST中序遍历=递增序列:这是判断BST正确性的重要依据
  8. 8大模块复习优先级:数据结构 > 软件工程 > 面向对象 > 数据库 > 网络 > 安全 > 知识产权 > 项目管理
  9. 45天三阶段法:入门15天 + 精讲20天 + 突破10天 = 150小时+

八、下半年备考倒计时 · 107天

本周进度(W2: 7/7-7/13)

日期天数主题状态
7/7(周一)Day 109软件架构+分布式
7/8(周二)Day 108信息安全+国密
7/9(周三)Day 107数据结构与算法✅ 今日
7/10(周四)Day 106编译原理+程序语言
7/11(周五)Day 105项目管理+风险管理
7/12-13(周末)Day 103-104阶段自测+错题复盘

四阶段备考计划

🟢 第一阶段(7/1-7/31)基础精读 31天 ← 当前 🟡 第二阶段(8/1-9/15)专题突破 46天 🟠 第三阶段(9/16-10/15)真题强化 30天 🔴 第四阶段(10/16-10/23)终极冲刺 8天

📌下半年考试日期:2026年10月24-27日
📌报名预计:7月下旬至9月中旬


💪 坚持每日一练,107天后你就是软件设计师!

「不积跬步,无以至千里;不积小流,无以成江海。」