--- title: 数据结构与算法 tags: - topic - data-structure-and-algorithm - joplin type: topic source_type: reconstructed created: 2026-04-22 updated: 2026-08-26 aliases: - 数据结构与算法重构 --- # 数据结构与算法 > [!abstract] > 本主题重构自 `数据结构与算法` 系列笔记,重点不是背代码模板,而是把“数据如何组织、操作代价如何变化、算法为什么这样设计”整理成可复习的结构。 ## 这门主题在解决什么问题 - 为什么同样的问题,用不同数据结构会有完全不同的效率和实现难度。 - 线性结构、树、图等不同结构分别适合表达什么关系。 - 查找和排序为什么会成为算法题与基础课中的高频核心。 - 数据结构和算法复杂度如何共同决定程序性能。 ## 推荐复习顺序 1. [[线性结构]] 2. [[树与堆]] 3. [[图结构与遍历]] 4. [[查找]] 5. [[排序]] ## 模块地图 - [[线性结构]]:顺序表、链表、栈、队列、串,以及栈队列应用。 - [[树与堆]]:二叉树、二叉排序树、AVL 树、堆和它们的操作逻辑。 - [[图结构与遍历]]:邻接矩阵、邻接表、BFS、DFS 与图的表达方式。 - [[查找]]:顺序查找、折半查找、查找判定和查找结构选择。 - [[排序]]:插入、交换、选择、快速、堆等排序思路与复杂度比较。 ## 关键概念 - [[顺序表]] - [[链表]] - [[栈]] - [[队列]] - [[KMP]] - [[二叉树]] - [[堆]] - [[二叉排序树]] - [[AVL树]] - [[图]] - [[查找算法]] - [[排序算法]] ## 常见误区 - 把数据结构理解成“代码容器”,忽略它本质是数据关系和操作约束的抽象。 - 只背增删查改代码,不比较不同结构在时间复杂度和适用场景上的差异。 - 把栈和队列都当成线性表的小变种,却不抓住 LIFO / FIFO 的本质限制。 - 只会背树和图的遍历顺序,不理解遍历过程为何需要递归、栈或队列支撑。 - 把排序算法只按代码模板记忆,不比较稳定性、平均复杂度和适用输入特征。 ## 来源范围 > 2026-08-26 已合并:原 `(C)840数据结构与算法/` 与 `(C++)数据结构与算法/` 两个子目录合并为统一的 `raw/Joplin/计算机专业基础/数据结构与算法/`,共 20 个主题,每个知识点均配 C / C++ / Java / Python 四语言示例。 - [[raw/Joplin/计算机专业基础/数据结构与算法/1.概述与复杂度分析.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/2.顺序表.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/3.单链表.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/4.双链表.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/5.循环链表.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/6.栈.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/7.队列.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/8.串与模式匹配.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/9.二叉树.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/10.二叉排序树.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/11.平衡二叉树.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/12.堆.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/13.哈夫曼树.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/14.图-存储与遍历.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/15.图-最小生成树.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/16.图-最短路径.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/17.图-拓扑排序与关键路径.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/18.并查集.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/19.查找.md]] - [[raw/Joplin/计算机专业基础/数据结构与算法/20.排序.md]] - [[raw/Documents/算法导论(原书第3版) (Thomas H.Cormen,Charles E.Leiserson etc.) (Z-Library)/算法导论(原书第3版) (Thomas H.Cormen,Charles E.Leiserson etc.) (Z-Library).md]] - [[raw/Documents/算法图解 ((美)巴尔加瓦(Aditya Bhargava)著, 袁国忠译) (Z-Library)/算法图解 ((美)巴尔加瓦(Aditya Bhargava)著, 袁国忠译) (Z-Library).md]] - [[raw/Documents/LeetCode 101 - A Grinding Guide/LeetCode 101 - A Grinding Guide.md]] - [[raw/Documents/数据结构、算法与应用 C++语言描述 原书第2版 (( MEI ) SA NI . WANG LI ZHU . LIU ZHI HONG) (Z-Library)/数据结构、算法与应用 C++语言描述 原书第2版 (( MEI ) SA NI . WANG LI ZHU . LIU ZHI HONG) (Z-Library).md]] ## 相关入口 - [[Documents资料库]] - [[joplin-overview]] - [[joplin-rebuild-schema]]