数据结构与算法.md 4.7 KB


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]]