数据结构

什么是数据结构?

我们知道数据是存储在计算机的物理存储空间中的,这些空间不是无限的,是宝贵的。我们需要选择一种好的存储方式来存储数据。并且在需要进行大量数据处理的时候,处理的时间也是宝贵的,高效方便的数据再利用很重要。所以,我们需要研究数据结构。

那么,什么是数据结构?简单的来讲就是研究数据的存储方式。复杂点来讲,数据结构是一门学科,研究如何存储具有复杂关系的数据,并且有助于数据的再利用。

如何选择数据结构?

数据结构分为线性表、树、图三种存储结构,这三种存储结构又可细分为顺序和链式两种物理结构。
那么,该如何选取这些存储结构?主要取决于两方面:数据的逻辑关系和物理存储结构。
首先是确定逻辑关系。
逻辑关系就是数据之间的对应关系,分为三类:

  • 一对一关系:左右两侧都只有一个邻居,选择线性表
  • 一对多关系:只有一个父亲,但是有多个孩子,选择树
  • 多对多关系:每条路互相连接,都可以到达,选择图

确定好逻辑关系后,再确定物理存储结构。
物理存储结构就是数据在物理存储空间上选择集中存储还是分散存储,分为两类:

  • 顺序:集中存储,有利于对数据做遍历操作
  • 链式:分散存储,有利于对数据做增删操作

有大量数据需要遍历查询的,就选择顺序存储结构;需要频繁增加和删除数据的,就选择链式存储结构。
通过上面两个点,很容易确定一个数据结构。