DataStructure
约 579 字大约 2 分钟
2025-10-22
常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从“逻辑结构”和“物理结构”两个维度进行分类。
逻辑结构:数据的内在关系
逻辑结构揭示了数据元素之间的本质联系,主要分为两大类:
线性结构
- 特点:元素间呈线性排列,一对一顺序关系
- 代表:数组、链表、栈、队列、哈希表
非线性结构
- 树形结构:元素间呈一对多关系(树、堆、哈希表)
- 网状结构:元素间呈多对多关系(图)
物理结构:数据的存储方式
物理结构决定了数据在计算机内存中的实际存储形态:
连续空间存储(数组)
- 内存地址连续分配
- 支持随机访问
- 长度固定,静态数据结构
分散空间存储(链表)
- 内存地址分散分布
- 动态调整长度
- 灵活性强,动态数据结构
核心洞察
所有复杂数据结构都基于数组、链表或二者的组合实现:
- 基于数组:栈、队列、哈希表、树、堆、图等
- 基于链表:栈、队列、哈希表、树、堆、图等
这种底层统一性揭示了数据结构的本质:用有限的物理构建块(数组/链表)表达无限的数据逻辑关系,在时间与空间效率间寻求最佳平衡。
文章链接
点击链接或左侧导航栏即可进入对应章节
数据结构对比总结
| 数据结构 | 主要特点 | 适用场景 | 不适用场景 |
|---|---|---|---|
| 链表 | 动态大小,高效插入删除 | 频繁插入删除,未知数据量 | 频繁随机访问 |
| 栈 | LIFO,单端操作 | 递归,撤销操作,表达式求值 | 需要中间访问 |
| 队列 | FIFO,顺序处理 | 任务调度,缓冲,BFS | 需要随机访问 |
| 树 | 层次结构,高效搜索 | 文件系统,数据库,搜索 | 简单线性数据 |
| 图 | 关系建模,复杂网络 | 社交网络,路径规划,推荐 | 简单层次关系 |
本笔记部分借鉴改编自《Hello 算法》
