数据的相关概念
- 数据:≈ 一切形式的信息(如数值、文本、声音、图像、视频)(是数据对象的集合)
- 数据对象:≈ 某类数据(是数据元素的集合)
- 数据元素:是我们在讨论数据时的着眼点(类似于物质构成中的分子)(是数据项的集合)
- 数据项:数据的最小单位(类似于物质构成中的原子)
数据结构
结构,其实就是各组成部分之间的关系;因而数据结构其实也就是数据的各组成部分之间的关系,而组成数据的其实就是数据元素,所以数据结构 ≈ 数据元素之间的相互关系(因为数据中的元素往往并不是像一盘散沙或一堆垃圾一样杂乱无章地堆放在一起,而是有着内在联系、有着逻辑关系的)。
数据都有哪些结构呢?
比如:
- 我们在学习中常画的思维导图或知识框架结构图,就是从一个主题/中心出发,延伸出许多分支(这是一种一对多的、类似于树干树枝的关系);
- 我们在学习中还有一种常画的图——脑图,它是一种网络状的结构图,图中的各支都可以互相连结(这是一种多对多的、类似于网状的关系);
- 我们去电影院看电影时,每一个人都对应着一个座位(这是一种一对一的关系)
- 我们去超市买东西,买回来的东西各种各样什么都有,它们之间没什么特别的关系,是我们把它们从超市的柜台上挑出来然后装到一起的(这类似于数学中集合的关系)
我们把以上的这四类关系称为数据元素之间的逻辑关系。每种关系都是一种结构,因而就有了数据元素的4种逻辑结构:
- 集合结构:无关/无序(平等)
- 线性结构:一对一(先后)
- 树形结构:一对多(父子)
- 图形结构:多对多(交织)
但是现在我们想把这些数据结构在计算机中表现出来,那该怎么整呢?要想表现出来,首先得存到计算机里面,那如何存进去呢?