数据结构的基础概念
文章目录
1. 数据(data)
- 定义:描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合
- 简单来说:数据是计算机化的信息
- 早期计算机的数据应用于数值计算,数据类型只有整型、实型、布尔型 ,现在数据已由纯粹的数值概念发展为图像、字符、声音等各种字符
- 特点:可被计算机接收、可被处理
2. 数据元素(data element)
- 定义:组成数据的基本单位,是数据集合的个体
- 由一个或多个数据项组成,数据项(data item)是有独立含义的最小单位
- 通常称data element为记录(record)
3. 数据对象(data object)
- 定义:性质相同的数据元素的集合,是数据的一个子集
- 个人理解:下表记其中一个数据对象为A,A = {记录1,记录2}
4. 数据结构(data structure)
- 定义:互相之间存在一种或多种特定关系的数据元素集合
- 包括的是数据元素的集合及元素间的关系的集合
- 研究的是元素之间的相互关系和组织方式,以及对其施加的运算及运算规则,并不在意数据元素的内容是什么值
5. 数据类型(data type)
- 定义:一组性质相同的值集合以及定义在这个值集合上的一组操作的总称
- 包括该类型的取值范围+该类型可允许使用的一组运算
- 按“值”分类:一类为原子类型,值不可再分
e.g.C语言里面的整型、字符型、指针 - 另一类为结构类型,成分可为原子或结构
e.g.数组的值可以是整数,也可以是另一个数组等其他类型
6. 抽象数据类型(abstract data type)
抽象的本质是抽取反映问题的本质点,而忽略非本质点的细节
数据抽象
- 计算机里面的数据是二进制,对于程序员来说,用二进制来写代码是不现实的。所以我们进行二进制数据的抽象
e.g.在高级语言中的数据类型(整型…)、抽象数据类型(表、栈、队…)都是对数据的抽象 - ADT包括一个数据对象+数据对象中各元素之间的结构关系+处理一组数据的操作
- 值得注意的是ADT的定义和实现是分开的,互相独立的
- ADT的定义不论其内部结构如何改变,只要它的数学特性不变,就不会影响其外部的使用
- ADT特点:数据抽象与信息隐蔽(实现封装)