软件设计师中级考点精讲:数据结构、排序与计算机系统基础

发布时间:2026/10/29 18:43:16

软件设计师中级考点精讲:数据结构、排序与计算机系统基础 简介这份文档面向备考软件设计师中级的考生聚焦软考中级核心考点将数据结构、查找与排序等高频内容整理成便于速查的笔记精华适合需要系统梳理知识框架、攻克难点公式与易错点的复习场景。压缩包共1个文件为docx格式文档整体约3.37MB内容以图文与表格结合的方式呈现便于打印或电子端翻阅。文档围绕邻接矩阵的度与出入度计算、顺序与链式及散列、索引等存储结构的适用条件展开并梳理满二叉树、平衡二叉树、哈夫曼树与WPL计算、二叉排序树等树结构要点查找部分覆盖二分查找与分块查找的适用情况与平均查找长度排序部分则归纳直接插入、希尔、快速、堆、归并、基数等算法的过程与复杂度对比表。目前已有382人学习适合作为考前查漏补缺与公式速记的辅助材料。1. 软件设计师中级一张知识地图先看清全貌软件设计师中级这张卷子的知识分布说散很散说集中也很集中。翻完这份考点笔记精华版我最大的感受是它不像某些考试那样靠死记硬背堆量而是围绕「数据怎么存、怎么找、怎么排、怎么算」这条主线铺开的。数据结构与算法占了相当大的比重从邻接矩阵、链表、二叉树一路延伸到八大排序和查找方法再往外一圈是计算机系统基础符号数编码、定点数范围、指令寻址方式这些偏底层的点最外层才是 CPU 组成这类概念性内容。换句话说复习时如果先把数据结构这条主干吃透其余模块都是挂在上面的枝叶不会觉得零散。这份笔记适合已经过了一遍教材、需要系统梳理和查漏补缺的人也适合临考前想快速定位重点公式和易错点的人。2. 数据结构与存储结构图、表、树的底层逻辑2.1 邻接矩阵与四种存储结构怎么选图这一块考试最爱考邻接矩阵的行列含义。无向图的邻接矩阵是对称的第 i 行元素之和就是顶点 i 的度有向图则要分开看第 i 行之和是出度第 j 列之和是入度。笔记里举的例子很典型顶点 4 的度就是第四行的和顶点 3 的出度和入度分别是 5 和 16。这类题不难但容易在「行还是列」上翻车做题时先在草稿纸上标清楚方向再算。存储结构的选择是另一条高频考点核心是「什么场景用什么结构」存储结构特点适用场景顺序存储地址连续依次存放频繁查询链式存储存储单元可连续可不连续频繁插入、删除、更新散列存储关键码与存储位置建立确定对应关系键值对高效查找索引存储单独的物理结构指向数据页的逻辑指针清单数据库检索单链表、循环链表、双链表的比较也常出选择题。双链表因为有两个指针域灵活度优于单链表但开支更大——这句话几乎可以原样背下来考场上直接对应选项。2.2 二叉树家族二叉排序树、哈夫曼树、平衡二叉树树结构里最容易被混淆的是几种「特殊二叉树」的定义和性质。二叉排序树的三条性质要记牢左子树非空则左子树所有节点值小于根节点右子树非空则右子树所有节点值大于等于根节点左右子树本身也分别是二叉排序树。查找时中序遍历能得到一个递增序列这个结论经常作为判断题出现。还有一个细节关键字最大的结点可以有左子树但一定没有右子树。哈夫曼树是带权路径长度WPL最短的树权值越大的叶子节点越靠近根节点。构造和 WPL 计算是必考题型笔记里给了一道完整例题6 个字符用定长编码3 位二进制就够000 到 101 表示 a 到 f所以码长选 3求 “face” 的 Huffman 编码时按左小右大、左 0 右 1 的规则从根节点走一遍答案是 001110110011。这里有个血泪经验哈夫曼树的左节点未必要比右节点小但做题时通常写成左小右大的形式否则编码对不上标准答案。平衡二叉树AVL 树的性质是左右两个子树高度差的绝对值不超过 1且左右子树也都是平衡二叉树。满二叉树则是除最后一层外每一层节点都有两个子节点或 0 个子节点。这两个定义经常被放在一起做辨析题记的时候抓住「高度差」和「每层节点数」两个关键词就不会混。2.3 广义表与表达式记法广义表的长度是删掉最外层括号后剩下的元素个数深度是括号的层数。笔记里的例子很能说明问题L1((a,(a,b),((a,b),c))) 长度 1、深度 4L2((1,2,3)) 长度 1、深度 2L3(1,2,3) 长度 3、深度 1。数括号层数时从最外层往里数别把最外层漏掉。表达式记法分前缀波兰式、中缀、后缀逆波兰式三种。前缀从右往左扫描遇到运算符弹出栈顶两个数注意是「栈顶元素 op 次顶元素」后缀从左往右扫描规则反过来是「次顶元素 op 栈顶元素」。这两个方向搞反是最高频的翻车点建议做题时在草稿上画个小栈一步步压弹别心算。3. 查找与排序八种排序的复杂度与稳定性3.1 三种查找方法的适用边界二分查找折半查找适用于不经常变动而查找频繁的有序列表优点是比较次数少、查找速度快、平均性能好缺点也明确要求待查表有序且插入删除困难。分块查找适合节点动态变化的情况比顺序查找快得多但速度不如折半查找。它的实现要点是块间有序、块内可任意存放再建一个索引表存每块最大关键码查找时先查索引表再查块内。平均查找长度 E(n) 的公式也要有印象n 个节点分成大小相等的 b 块每块 sn/b这个设定在计算题里会直接给出。3.2 八大排序的核心思想一句话记忆排序这一章内容多但每种算法都能压缩成一句话直接插入排序每趟把一个待排序记录插入有序队列的合适位置像斗地主抽牌。简单选择排序每趟选出关键字最小的记录放到已排序序列末尾。冒泡排序两两比较相邻关键字不满足次序就交换。希尔排序按步长 gap 分组组内直接插入排序步长减到 1 时完成。快速排序一趟分割成左右两部分左边都比它小、右边都比它大递归处理采用分治法。堆排序n 个元素的序列满足 ki≤k2i 且 ki≤k2i1小顶堆或反之大顶堆。归并排序把序列看成 n 个长度 1 的有序表成对归并直到合成一个长度 n 的序列。基数排序不比较关键字大小按各位的值做「分配」与「收集」比如 0~9 十个桶。3.3 复杂度与稳定性对照表这张表是复习的重中之重考试直接考、做题也靠它判断排序方法最好平均最坏辅助空间稳定性直接插入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(1)不稳定快速O(nlog₂n)O(nlog₂n)O(n²)O(log₂n)不稳定堆排序O(nlog₂n)O(nlog₂n)O(nlog₂n)O(1)不稳定归并O(nlog₂n)O(nlog₂n)O(nlog₂n)O(n)稳定基数O(d(nrd))O(d(nrd))O(d(nrd))O(rd)稳定记忆技巧稳定的只有插入、冒泡、归并、基数四个辅助空间为 O(1) 的是插入、选择、冒泡、希尔、堆快速排序最坏退化到 O(n²)这是它最大的软肋。3.4 堆的判断与归并路数公式堆的判断题给一组序列逐个检查是否满足父子关系即可。笔记里的例题 (10,18,15,20,50,80,30,60) 就是标准小顶堆因为每个父节点都不大于它的两个子节点。判断时从第一个非叶子节点开始往下比比从头到尾扫一遍快。归并路数的公式是 k |logₘ n| 的反向应用m 为元素个数k 为多路归并趟数。27 个元素做三趟多路归并log 以 3 为底 27 的对数是 3所以归并路数选 3。这个公式考法固定套进去就行但要注意「趟数」和「路数」别搞反。4. 计算机系统基础符号数、定点数与指令寻址4.1 原码、反码、补码、移码的转换规则四种码制的转换是系统基础里最基础也最容易记混的部分。正数的原码、反码、补码都等于自身二进制数负数的原码符号位为 1反码符号位不动、其余按位取反补码在反码基础上加 1移码无论正负把补码的符号位取反即可。应用场景要记死计算机中最适合数字加减运算的编码是补码最适合表示浮点数阶码的编码是移码。这两句话几乎每年都以选择题形式出现。4.2 定点数表示范围与记忆技巧机器字长为 n 时各种码制表示的带符号数范围如下码制定点整数定点小数原码[-(2ⁿ⁻¹-1), 2ⁿ⁻¹-1][-(1-2⁻⁽ⁿ⁻¹⁾), 1-2⁻⁽ⁿ⁻¹⁾]反码[-(2ⁿ⁻¹-1), 2ⁿ⁻¹-1][-(1-2⁻⁽ⁿ⁻¹⁾), 1-2⁻⁽ⁿ⁻¹⁾]补码[-2ⁿ⁻¹, 2ⁿ⁻¹-1][-1, 1-2⁻⁽ⁿ⁻¹⁾]移码[-2ⁿ⁻¹, 2ⁿ⁻¹-1][-1, 1-2⁻⁽ⁿ⁻¹⁾]笔记里给了一个很实用的记忆技巧令 A2ⁿ⁻¹B1-2⁻⁽ⁿ⁻¹⁾则原码和反码的定点整数范围是 [-(A-1), A-1]定点小数是 [-B, B]补码和移码的定点整数是 [-A, A-1]定点小数是 [-1, B]。这样一压缩四行公式变成两组对称结构考场上现推也来得及。4.3 指令寻址方式的速度排序四种寻址方式的核心区别在于操作数或操作数地址放在哪立即寻址操作数直接包含在指令中获取操作数最快。直接寻址操作数的地址在指令中。寄存器寻址操作数在寄存器中。寄存器间接寻址操作数的地址在寄存器中。速度排序上立即寻址最快是送分点其余三种按「操作数离 CPU 越近越快」的原则理解即可。CPU 组成方面运算器、控制器、寄存器和内部总线四部分要记住控制器的职责不仅是保证程序正确执行还要能处理异常事件——后半句常被忽略却是出题点。5. 易错点清单五个最容易翻车的地方5.1 邻接矩阵的行列方向易漏点无向图算度、有向图算出度入度时行和列的含义搞反。 为什么漏无向图对称行和列结果一样练多了形成惯性遇到有向图直接套用就错。 怎么补做题前先在矩阵上方标「出」、右侧标「入」强迫自己区分方向再动笔。5.2 前缀与后缀表达式的弹栈顺序易漏点前缀是「栈顶 op 次顶」后缀是「次顶 op 栈顶」两个方向相反。 为什么漏两种记法只差一个扫描方向背的时候容易只记一半。 怎么补记口诀「前右后左弹栈反着来」每次做题画栈图验证一步。5.3 哈夫曼编码的左右约定易漏点构造哈夫曼树时左小右大、左 0 右 1 的约定不统一导致编码与选项对不上。 为什么漏定义上左节点未必要比右节点小但考试按约定俗成的写法给答案。 怎么补固定按左小右大构造编码时从根往下走左分支记 0、右分支记 1别中途换规则。5.4 排序稳定性的记忆偏差易漏点把希尔排序或快速排序误记为稳定。 为什么漏稳定与不稳定没有直观规律纯靠记忆容易张冠李戴。 怎么补只记稳定的四个插入、冒泡、归并、基数其余全按不稳定处理反向排除更快。5.5 补码与移码的范围混淆易漏点补码定点整数范围是 [-2ⁿ⁻¹, 2ⁿ⁻¹-1]比原码多表示一个负数容易记成和原码一样。 为什么漏原码、反码、补码三行连在一起看视觉上容易串行。 怎么补用 A、B 记忆法压缩成两组补码和移码归为一组原码和反码归为另一组分组记不易混。6. 复习清单考前一周怎么查漏补缺到了冲刺阶段最怕的是「感觉都会、一做就错」。我的做法是把这份笔记拆成三层来刷第一层是公式层邻接矩阵行列含义、归并路数公式、四种码制范围、八大排序复杂度表这些必须做到提笔就写、不假思索第二层是判断层堆的判断、二叉排序树性质辨析、寻址方式速度排序靠做题保持手感第三层是计算层哈夫曼树构造与 WPL、前缀后缀表达式求值、二分查找过程推演必须动手算不能只看答案。具体到每天的安排可以按下面这个清单走一遍复习项自检标准薄弱时的补救邻接矩阵能口述行列出度入度关系重做笔记例题标方向存储结构选择四种结构对应场景不混列表对比遮住右列自测二叉树性质三种特殊树定义能区分画图对比高度差与节点数哈夫曼编码独立构造并算出 WPL按左小右大重走一遍排序复杂度默写整张对照表只记稳定四个反向排除码制范围用 A、B 法现推每天推一遍四行范围表达式求值前后缀各算一题画栈图标弹栈顺序最容易忽略的是「计算层」的动手量。很多人公式背得滚瓜烂熟一到哈夫曼树构造就卡在合并顺序上或者后缀表达式弹栈时把操作数顺序写反。这类错误看答案觉得理所当然自己上手就原形毕露。建议每两天完整手算一道哈夫曼题和一道表达式题算完对照笔记里的例题步骤看每一步的中间结果是否一致。还有一点血泪经验排序复杂度表不要整张死背先记「稳定的四个」和「辅助空间 O(1) 的五个」剩下的用排除法推。考场上时间紧排除法比回忆法快得多。从那以后我每次复习这类对照表都强制自己先默写稳定性和空间两列再补时间复杂度的三列正确率明显上来了。希望这份梳理能帮到你把地图装进脑子剩下的就是反复走几遍。本文还有配套的精品资源点击获取
延伸阅读

更多相关文章

2026/10/29 18:43:16

营销技能树:从执行者到策略者的能力进阶地图

做营销最尴尬的一个瞬间,就是别人问你“你会什么”的时候,你只能说出“写文案、做活动、投广告”这种谁都会说的词。几年前我自己也卡在这个阶段,直到后来把个人能力拆成了一棵“marketingskills”技能树,才慢慢搞清楚&#xff1a…

2026/10/29 18:38:15

context-mode:SQLite+FTS5+BM25构建本地AI上下文检索模式

1. “context-mode”到底是什么?别被术语唬住,它本质是让AI真正“听懂上下文”的工程实践最近在多个技术社区和开发群聊里,“context-mode”这个词突然高频出现,尤其和MCP、SQLite、FTS5、BM25这些词绑在一起。很多人第一反应是&a…

2026/10/29 18:38:15

hyperframes:用HTML+CSS实现视频帧级交互的轻量范式

1. “hyperframes”不是新框架,而是对HTML媒体渲染范式的重新命名与实践重构最近在多个前端技术社区和CLI工具讨论区里,“hyperframes”这个词突然高频出现。它既不是某个新发布的JavaScript框架,也不是W3C正在推进的标准草案,更不…

2026/10/29 19:53:50

(已解决)关于fpga的时序收敛问题记录

问题记录 1、Axi stream或者Axi Lite和逻辑通信时,因时钟时序不匹配,造成时序不收敛。 2、从别处考来的工程中,自带使用set_clock_groups -asynchronous组时,-of objects[get pins U_xxxx/xxxx…]&#xff…

2026/10/29 19:53:50

CB如何用WorkBuddy把薪酬核算做成带凭证清册?

月底关账,薪酬核对这道关最磨人的不是数据量,是数据乱、出处不清、异常说不明。 薪酬核算本就有HRIS与成体系的流程,真正的缺口在另一层:总数平了,老板未必点头,他真正要的是一张每一笔变动凭什么、从哪来…

2026/10/29 19:53:50

springboot汽车租赁管理系统12586-计算机课程设计、毕业设计

前言 ✨ 博主介绍:一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮…

2026/10/29 19:53:50

Windows 下 Neo4j 5.23 社区版:解压部署、CSV 导入与查询调优

简介:neo4j-chs-community-5.23.0-windows.zip 是面向图数据库初学者、应用开发者与运维人员的 Windows 社区版压缩包,用于在本地搭建 Neo4j 图数据库环境,理解节点、关系及属性构成的图模型,并用 Cypher 完成图数据查询与可视化探…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑