暑假计划开始系统的学习数据结构,如果你愿意,和我一起来吧
常用名词的基本概念:
- 数据是描述客观事物的符号,是可以被计算机操作的对象,是能被计算机,并输入计算机处理的符号集合。
- 数据元素是组成数据的,有一定意义的基本单元,也被称作记录。
- 数据项是最小的不可分割的单位,是组成记录的单位。
- 数据对象是性质相同的数据元素的集合,是数据的集合。
存储结构:
逻辑结构:
- 逻辑结构是指数据内在的联系,物理结构是讨论如何将具有内在联系的数据以某种结构保存起来。
- 逻辑结构有:集合结构,线性结构,树性结构,图结构。
- 集合结构之间除了同属于一个集合外,相互之间没有关系,是互相平等的。
- 线性结构是一对一的结构,除了首尾元素外,每个元素都有一个前驱结点和一个后继结点。
- 树形结构是一种一对多的结构,每一个父结点都可以有多个孩子
- 图结构是一种稍微复杂的多对多的结构。
物理结构:
- 物理结构讨论的是如何将逻辑结构在计算机内的进行存储。
- 物理结构分为:顺序存储结构和链式存储结构。
- 顺序结构是指元素的地址是连续的,逻辑结构和物理结构是一致的,如图:
- 链式存储:
数据存储的地址可以是连续的,也可以是不连续的,其物理结构不能反映其逻辑结构,但是需要有一个指针指出其下一个元素所在的地址。
- 顺序结构是指元素的地址是连续的,逻辑结构和物理结构是一致的,如图:
联系
逻辑结构是面向问题的,而物理结构是面向计算机的。
抽象数据类型:
数据类型是指性质相同的值的集合和定义在这个集合上的操作的总称。
- 例如我们在C语言中的int类型就是一种数据类型,struct类型也是一种数据类型。
抽象数据类型是指一个数学模型和定义在这个模型上的操作。抽象具有抽取出事物普遍特征而忽略非本质细节的特征