第一章的考点其实很少,主要是会了解到几个很重要的概念。
要学习数据结构,得先了解以下几个问题:
- 数据结构是什么?
- 数据结构有哪些元素组成的?
- 如何去定义或是描述一个数据结构
这些都不知道?那我们就从了解数据结构里的一些概念和术语开始吧。
基本概念和术语
数据、数据元素、数据项、数据对象
各种教材上对数据的定义比较长,但经过阅读与分析之后,可以得出结论。
数据就是集合。 是什么样的集合?是可以承载信息的。因为牵扯到计算机,所以最好是可以输入到计算机内的,并且被计算机处理的集合。
换句话说,数据就是计算机加工的原料。
数据是由数据元素组成的。,简言之,数据就是由数据元素组成的集合。 那数据元素还可以继续分割吗? 可以的。
数据元素是由数据项组成的,数据项是最小的,不可分割的单位。
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
数据类型
数据类型一共有三种,是原子类型、结构类型和抽象数据类型(ADT)。
但在我的印象里,好像用到的只有抽象数据类型(ADT)。
抽象数据类型描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据关系,基本操作集)的三元组来表示,可以定义一个完整的数据结构。
画重点!!!!! ADT可以定义一个完整的数据结构。
数据结构
之前已经解释过了什么是数据以及数据是由什么组成的。接下来再说什么是结构。
数据元素相互之间的关系称为结构。
所以结合以上定义,我们可以知道
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包含三方面内容:逻辑结构、存储结构以及数据的运算。
逻辑结构决定算法的设计,存储结构决定算法的实现方式。
算法是啥?你管那么多呢,后面会讲的!
数据结构三要素
数据的逻辑结构
逻辑结构是指从数据元素之间的逻辑关系。 只与逻辑有关,与具体存储无关。
逻辑结构分为线性结构和非线性结构。非线性结构分为集合、树形结构以及图形结构。而线性结构主要是线性表以及线性表的各种变形和推广。
最复杂的图状结构里的数据元素存在一对一、一对多以及多对多关系。
树形结构里的数据元素存在一对一、一对多以及多对多关系。
线性结构里的数据元素只存在一对一关系。
集合里的数据元素除了“同属一个集合”之外,没有其他关系。