【数据结构】板块总结 + 下期预告(数据库技术)

适合读者:软考中级备考同学

阅读时间:6分钟

内容:数据结构与算法板块知识体系回顾、核心对比表、易错点汇总、下期预告

一、板块内容概览

"数据结构与算法"板块共完成 30篇 文章,覆盖以下知识模块:

知识模块 篇数 核心内容
基础概念 3篇 数据结构定义、逻辑结构与物理结构、ADT、时间复杂度与空间复杂度
线性结构 5篇 顺序表、单链表、双向链表、循环链表、栈、队列、循环队列
2篇 串的基本概念与存储、KMP模式匹配算法
树与二叉树 6篇 树的基本概念、二叉树定义与性质、存储结构、四种遍历、BST、AVL、哈夫曼树
6篇 图的基本概念、存储结构(邻接矩阵/邻接表)、DFS、BFS、最小生成树(Prim/Kruskal)、最短路径(Dijkstra/Floyd)
查找 3篇 顺序查找、折半查找、哈希表
排序 5篇 插入排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序、八大排序对比总结

二、核心对比表

2.1 线性结构对比

结构 存储方式 插入/删除(已知位置) 随机访问 适用场景
顺序表(数组) 连续内存 O(n)O(n)O(n)(需移动元素) ✅ O(1)O(1)O(1) 查找多、增删少
单链表 链式(单指针) O(1)O(1)O(1)(插入)/ O(n)O(n)O(n)(删除需找前驱) ❌ O(n)O(n)O(n) 增删多、查找少
双向链表 链式(双指针) O(1)O(1)O(1) ❌ O(n)O(n)O(n) 需要双向遍历
顺序/链式 只在栈顶操作 O(1)O(1)O(1) 函数调用、表达式求值
队列 顺序(循环)/链式 队尾入队 O(1)O(1)O(1),队头出队 O(1)O(1)O(1) 排队系统、BFS

2.2 树结构对比

树类型 定义特征 遍历结果 查找效率 插入/删除
普通二叉树 每个节点最多2个子节点 前/中/后/层次 O(n)O(n)O(n) O(n)O(n)O(n)
二叉排序树(BST) 左小右大 中序递增有序 平均 O(log⁡n)O(\log n)O(logn),最坏 O(n)O(n)O(n) 平均 O(log⁡n)O(\log n)O(logn)
平衡二叉树(AVL) BST + 平衡因子 ≤1\le 1≤1 中序递增有序 始终 O(log⁡n)O(\log n)O(logn) 需旋转调整
哈夫曼树 带权路径长度最短 --- --- 用于编码压缩

2.3 图存储与遍历对比

存储方式 空间复杂度 判断边存在 求顶点度 适合图类型
邻接矩阵 O(n2)O(n^2)O(n2) O(1)O(1)O(1) O(n)O(n)O(n) 稠密图
邻接表 O(n+e)O(n+e)O(n+e) O(degree)O(degree)O(degree) O(1)O(1)O(1)(出度) 稀疏图
遍历方式 核心数据结构 遍历策略 是否适合求最短路径
DFS(深度优先) 栈(递归) 一条路走到黑
BFS(广度优先) 队列 层层推进 ✅(无权图)

2.4 最小生成树算法对比

算法 策略 时间复杂度 适合图类型
Prim 从顶点出发,每次选最小边 O(n2)O(n^2)O(n2) / O(elog⁡n)O(e \log n)O(elogn) 稠密图
Kruskal 从边出发,每次选全局最小边 O(elog⁡e)O(e \log e)O(eloge) 稀疏图

2.5 最短路径算法对比

算法 解决的问题 核心思想 时间复杂度 支持负权边
Dijkstra 单源最短路径 贪心(每次选dist最小顶点) O(n2)O(n^2)O(n2) / O(elog⁡n)O(e \log n)O(elogn) ❌ 不支持
Floyd 多源最短路径 动态规划(kkk 在最外层) O(n3)O(n^3)O(n3) ✅ 支持(无负权环)

2.6 八大排序算法全景对比

算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 稳定性
插入排序 O(n2)O(n^2)O(n2) O(n)O(n)O(n) O(n2)O(n^2)O(n2) O(1)O(1)O(1) ✅ 稳定
希尔排序 O(n1.3)O(n^{1.3})O(n1.3) O(n)O(n)O(n) O(n2)O(n^2)O(n2) O(1)O(1)O(1) ❌ 不稳定
冒泡排序 O(n2)O(n^2)O(n2) O(n)O(n)O(n) O(n2)O(n^2)O(n2) O(1)O(1)O(1) ✅ 稳定
快速排序 O(nlog⁡n)O(n \log n)O(nlogn) O(nlog⁡n)O(n \log n)O(nlogn) O(n2)O(n^2)O(n2) O(log⁡n)O(\log n)O(logn) ❌ 不稳定
简单选择 O(n2)O(n^2)O(n2) O(n2)O(n^2)O(n2) O(n2)O(n^2)O(n2) O(1)O(1)O(1) ❌ 不稳定
堆排序 O(nlog⁡n)O(n \log n)O(nlogn) O(nlog⁡n)O(n \log n)O(nlogn) O(nlog⁡n)O(n \log n)O(nlogn) O(1)O(1)O(1) ❌ 不稳定
归并排序 O(nlog⁡n)O(n \log n)O(nlogn) O(nlog⁡n)O(n \log n)O(nlogn) O(nlog⁡n)O(n \log n)O(nlogn) O(n)O(n)O(n) ✅ 稳定
基数排序 O(d(n+r))O(d(n+r))O(d(n+r)) O(d(n+r))O(d(n+r))O(d(n+r)) O(d(n+r))O(d(n+r))O(d(n+r)) O(n+r)O(n+r)O(n+r) ✅ 稳定

2.7 查找算法对比

算法 前提条件 平均时间复杂度 空间复杂度 适用场景
顺序查找 无要求 O(n)O(n)O(n) O(1)O(1)O(1) 数据量小、无序
折半查找 必须有序 O(log⁡n)O(\log n)O(logn) O(1)O(1)O(1) 数据量大、有序、静态
哈希表查找 需要哈希函数 O(1)O(1)O(1)(平均) O(n)O(n)O(n) 频繁查找、对实时性要求高

三、易错点汇总

易错点 正确理解
满二叉树一定是完全二叉树 ✅ 正确
完全二叉树一定是满二叉树 ❌ 错误
二叉排序树的中序遍历是递减有序 ❌ 是递增有序
折半查找要求数据必须升序 ❌ 升序或降序均可,但必须有序
强连通图至少需要 n−1n-1n−1 条边 ❌ 至少需要 nnn 条边(构成环)
连通图至少需要 nnn 条边 ❌ 至少需要 n−1n-1n−1 条边
无向图邻接表链表节点总数为 eee ❌ 是 2e2e2e
DFS使用队列,BFS使用栈 DFS用栈,BFS用队列
Prim算法适合稀疏图 ❌ Prim适合稠密图
Kruskal算法适合稠密图 ❌ Kruskal适合稀疏图
Dijkstra可以处理负权边 不能处理负权边
Floyd算法中转点放在最内层 ❌ 中转点 kkk 放在最外层
堆排序是稳定排序 ❌ 堆排序不稳定
快速排序在所有情况下都快 ❌ 最坏情况 O(n2)O(n^2)O(n2)
哈希表的查找效率一定高于折半查找 ❌ 最坏情况下哈希表可能退化为 O(n)O(n)O(n)
基数排序通过比较元素大小来排序 ❌ 基数排序不比较大小

四、记忆口诀汇总

二叉树性质

第 iii 层最多 2i−12^{i-1}2i−1,深度 kkk 满 2k−12^k - 12k−1,n0=n2+1n_0 = n_2 + 1n0=n2+1,完全二叉树编号灵:左 2i2i2i 右 2i+12i+12i+1。

遍历

前序根左右,中序左根右,后序左右根,层次用队列。

图术语

连通图 n−1n-1n−1,强连通图 nnn,完全图 n(n−1)/2n(n-1)/2n(n−1)/2(无向)。

图存储

邻接矩阵 O(n2)O(n^2)O(n2) 适稠密,邻接表 O(n+e)O(n+e)O(n+e) 适稀疏。

最小生成树

Prim从顶点长,稠密图它最强;Kruskal从边合,稀疏图它最妥。

最短路径

Dijkstra贪心单源,负权边不能沾;Floyd动态多源,kkk 最外层是关键。

排序稳定性

插冒归基 (稳定),快选堆希(不稳定)。

排序选型

基本有序用插入,大量数据用快排;要求稳定用归并,内存紧张用堆排。

五、板块总结表

板块 完成篇数 状态
1. 计算机系统知识 28篇 ✅ 已完成
2. 程序语言与编译 16篇 ✅ 已完成
3. 操作系统 28篇 ✅ 已完成
4. 软件工程 24篇 ✅ 已完成
5. 面向对象技术 16篇 ✅ 已完成
6. 数据结构与算法 30篇 ✅ 已完成
7. 数据库技术 20篇 即将开始

六、数据报告

截至2026年8月25日,你的CSDN博客数据:

指标 数值
总访问量 100,135
原创文章 151篇
粉丝数 481
博客总排名 14,781名

6个板块共完成 142篇 技术文章,系统性地覆盖了软件设计师考试的核心知识点。专栏内容已初步形成体系。

七、下期预告:板块7 -- 数据库技术

预计更新 20篇 ,时间:8.26 -- 9.8(共14天)

数据库技术在软考中占 8-12分,上午选择题和下午SQL题都有涉及。主要内容:

知识模块 核心内容
数据库系统概述 数据库管理系统(DBMS)、三级模式结构(外模式/模式/内模式)、两级映像
数据模型 层次模型、网状模型、关系模型(重点)
关系代数 选择、投影、连接、除运算(下午题必考)
SQL语言 DDL、DML、DCL、嵌套查询、分组查询
规范化理论 函数依赖、1NF/2NF/3NF/BCNF(选择题必考)
事务管理 ACID特性、并发控制、封锁协议
数据库设计 ER图、E-R模型转关系模型(下午题必考)

特别注意关系代数 (选择/投影/连接)和E-R图转关系模型是下午题的必考内容,写文章时会重点讲解解题方法。

从下一篇文章开始,我们将进入 数据库技术 板块。请持续关注本专栏,每日更新,陪你一起拿下软考中级!

🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #数据结构与算法 #板块总结 #数据库技术 #软考备考

相关推荐
zQ.ii1 小时前
WPF 触发器学习笔记
笔记·学习·wpf
郝学胜_神的一滴1 小时前
Effective Python 条款 2:遵循 PEP 8 编码风格,写出高质量 Python 代码
python·算法
郝学胜-神的一滴1 小时前
Effective Python 条款 1:确认你正在使用的 Python 版本
开发语言·数据结构·python·程序人生·算法
sel_91 小时前
【多轮对话论文导读(二)】多轮对话与LLM Agent论文阅读:长期记忆、多轮评估与Agent训练
人工智能·深度学习·算法·语言模型·自然语言处理
乐橙开放平台1 小时前
老旧社区双通道笔记:周界 hoveringAlarm / aiPerArea + 电梯 aiNonVehDetect,一套 callback 做 24h 防护
笔记·物联网·音视频·智能家居
一木 之林1 小时前
五、C++新特性、关键字与编译原理
java·jvm·算法
想要成为老金高手1 小时前
Kubernetes 实战笔记(一):Pod 管理与 kubectl 核心命令全解
笔记·容器·kubernetes
程序员麻辣烫1 小时前
反曲弓射箭笔记
笔记·生活
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 13
java·spring boot·笔记