Skip to content
DSData Structure

数据结构

数据结构不是单独背概念,而是理解“数据如何被组织”和“为什么某种操作更快”。 这一页会把结构特性、复杂度成本和典型使用场景串在一起。

1当前文章
3建设主线
O(n)高频基础复杂度

当前内容

已有内容先从时间复杂度切入。建议先把复杂度概念吃透,再去看具体结构的插入、删除、查找和遍历成本。

建设路线

后续会优先补齐这些基础结构。目标不是面面俱到,而是把最常用、最容易迁移到算法题和工程代码里的内容先打牢。

ARRAYRoadmap

数组、链表与顺序结构

理解连续内存、随机访问、插入删除成本,以及链表在不同场景下的取舍。

STACKRoadmap

栈、队列与受限访问

把 LIFO / FIFO 的访问模式和实际题型联系起来,例如括号匹配、滑动窗口、BFS。

TREERoadmap

树、堆、图与层次结构

从树的递归定义延伸到堆和图,补齐遍历、搜索、优先级与关系建模。

阅读方式

先看操作,再记结构

不要先背定义。更有效的方式是先问“我要频繁做什么操作”,再反推数组、链表、哈希表还是树更合适。

  • 查询多还是修改多
  • 是否要求顺序或排序
  • 是否需要去重、映射或优先级

把复杂度和空间一起看

很多结构在时间上更优,但会引入额外空间或实现复杂度。理解这些取舍,才能真正把结构用到工程问题里。

  • 哈希表换时间但占更多内存
  • 链表插删快但随机访问慢
  • 堆适合 top-k,不适合完整有序遍历