一种看待 8 种基础数据结构的视角
@
目录
图

我们可以这样看待数据结构:数据结构的本质是数据之间的关联关系。
最原始的关联关系只有一种,即 物理相连(邻),以这种关联关系为基础的数据结构,即数组,最初的数据结构。
然后,我们可以这样认为:数据之间的关联关系是可以衍化的。
这是一件必然的事,否则不会出现刚刚提到的 8 中基础数据结构。
那么数据之间的关联关系是怎么衍化的呢?我们可以认为关联关系的衍化只有两种:放宽约束、增加约束。
从数组开始,我们开始 放宽约束
- 从 数组 开始,将 物理相邻 放宽为 逻辑相连,可以得到 链表
- 从 链表 开始,将 单相连 放宽为 多相连,可以得到 树
- 从 树 开始,将 父子上下级相连 放宽为 任意节点间相连,可以得到 图
再让我们试试 增加约束
- 从 数组 开始,增加 索引使用 的约束,可以得到 哈希
- 从 数组 开始,增加 存取位置 的约束,可以得到 栈
- 从 链表 开始,增加 存取位置 的约束,可以得到 队列
- 从 树 开始,增加 相连的两端值大小 的约束,可以得到 堆

浙公网安备 33010602011771号