【2025年最新!软考中级】软件设计师考证知识点总结,串讲及真题合集
第一章:计算机基础知识
取余和取模的区别
余数的符号:
取余:余数的符号与被除数一致。
取模:余数的符号与除数一致。
中央处理单元
真题
进制
校验码
校验码真题
冯·诺依曼结构与哈佛结构
计算机体系结构分类
计算机指令
计算机指令真题
指令流水线
指令流水线真题
总线
安全威胁
加密技术
3S 对称加密技术 DES 3DES AES
RC-5
IDEA
认证技术
数字签名
数字证书
PKI公钥基础设施
加密技术真题
可靠性
可靠性真题
第二章:程序设计语言
函数真题
每一个线程都会分配一个栈,形参、返回地址、局部变量都属于栈内数据,它们的存储不能跨线程共享
Python真题
第三章:数据结构
栈真题
算术表达式(重要,易错)
矩阵结构
树
最优二叉树/哈夫曼树(重要,易错)
树真题(有难度)
为什么在有序顺序表上进行折半查找时,对应的判定树形态最符合平衡二叉树的特点。
1. 折半查找的核心逻辑
折半查找的每一步都将有序表分成三部分:
- 中间元素:作为当前比较节点
- 左半部分:所有元素小于中间元素
- 右半部分:所有元素大于中间元素
每次划分时,左右两部分的元素数量最多相差1。例如:
- 当 n = 7 n=7 n=7时,中间元素是第4个,左右各有3个元素。
- 当 n = 6 n=6 n=6时,中间元素是第3个,左半部分有2个元素,右半部分有3个元素。
2. 判定树的生成规则
判定树的构造遵循以下递归规则:
- 根节点:当前有序表的中间元素。
- 左子树:由左半部分生成。
- 右子树:由右半部分生成。
由于每次划分时左右部分元素数量尽可能均分,生成的树天然满足左右子树高度差不超过1。
3. 平衡二叉树的核心要求
平衡二叉树的定义是:
- 每个节点的左右子树高度差不超过1。
- 所有子树也必须是平衡二叉树。
这与折半查找判定树的构造规则完全一致:
- 均分策略:保证左右子树节点数最多差1 → 高度差自然不超过1。
- 递归构造:左右子树继续按相同规则生成 → 所有子树均平衡。
4. 具体实例验证
以 n = 7 n=7 n=7和 n = 6 n=6 n=6为例,观察判定树形态: