一种看待 8 种基础数据结构的视角

INDEX

一种看待 8 种基础数据结构的视角_第1张图片

我们可以这样看待数据结构:数据结构的本质是数据之间的关联关系。

最原始的关联关系只有一种,即 物理相连(邻),以这种关联关系为基础的数据结构,即数组,最初的数据结构。

然后,我们可以这样认为:数据之间的关联关系是可以衍化的。

这是一件必然的事,否则不会出现刚刚提到的 8 中基础数据结构。

那么数据之间的关联关系是怎么衍化的呢?我们可以认为关联关系的衍化只有两种:放宽约束增加约束

从数组开始,我们开始 放宽约束

  • 数组 开始,将 物理相邻 放宽为 逻辑相连,可以得到 链表
  • 链表 开始,将 单相连 放宽为 多相连,可以得到
  • 开始,将 父子上下级相连 放宽为 任意节点间相连,可以得到

再让我们试试 增加约束

  • 数组 开始,增加 索引使用 的约束,可以得到 哈希
  • 数组 开始,增加 存取位置 的约束,可以得到
  • 链表 开始,增加 存取位置 的约束,可以得到 队列
  • 开始,增加 相连的两端值大小 的约束,可以得到

你可能感兴趣的:(数据结构)