Skip to content

数据结构

数据结构是在计算机中具有一定逻辑关系、存储结构并且封装相应操作方法的数据集合。 常见的数据类型有:数组、链表、栈、堆、图、树、哈希表、队列。​理解数据机构可以从两个层面理解:逻辑结构和物理结构。

1 逻辑结构:线性和非线性

逻辑结构主要是描述数据之间的逻辑关系,具有线性关系还是非线性关系。

  • 线性数据结构:数组、链表、队列、栈、哈希表
  • 非线性数据结构:树、图、堆、哈希表 非线性数据结构又可以分为:网状结构和非网状结构。
  • 网状结构:图
  • 非网状结构:树、哈希表、堆

线性数据结构与非线性数据结构

2 物理结构:连续和非连续

物理结构是指数据在内存中的存储方式是连续的还是非连续的.如数组在内存中的空间一般是连续的,而链表则是分散的,存储链表的指针和数据通常是分开的。

物理结构

需要注意的是,所有的数据结构都可以基于数组或者链表,或者二者组合而实现。

  • 基于数组可实现:栈、队列、哈希表、树、堆、图、矩阵、张量(维度 的数组)等。
  • 基于链表可实现:栈、队列、哈希表、树、堆、图等。

小结

通过对数据结构在逻辑层面和物理层面上的不同理解,对数据结构的种类,以及不同数据结构之间的关系有了一定的了解。当然这些都还是很浅显的认知,要想真正地理解数据,应该深度的学习每一种数据结构类型。