1.5 抽象数据类型
我们对已有的数据类型进行抽象,就有了抽象数据类型。
抽象数据类型(Abstract Data Type, ADT): 是指一个数学模型及定义在该模型上的一组操作。 抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。
听概念的确不太好理解,前期可以先学着,到后面慢慢用到的时候会有好的理解!
1.5.1 两个实例
1.坐标实例
比如我们编写关于计算机绘图或者地图类的软件系统,经常都会用到坐标。也就是说,总是有成对出现的x和y,在3D系统中还有z出现,既然这三个整型数字是始终在一起出现,我们就定义一个叫point的抽象数据类型,它有x、y、z三个整型变量,这样我们很方便地操作-一个point数据变量就能知道这一点的坐标了 。
2.超级玛丽
根据抽象数据类型的定义,它还包括定义在该模型上的一组操作。就像“ 超级玛丽”这个经典的任天堂游戏,里面的游戏主角是马里奥(Mario)。 我们给他定义了几种基本操作,走(前进、后退、上、下)、跳、打子弹等。一个抽象数据类型定义了:一个数据对象、数据对象中各数据元素之间的关系及对数据元素的操作。
至于,一个抽象数据类型到底需要哪些操作,这就只能由设计者根据实际需要来定。像马里奥,可能开始只有两种操作,走和跳,后来发现应该要增加一种打子弹的操作,再后来发现有些玩家希望它可以走得快点,就有了按住打子弹键后前进就会‘跑” 的操作。这都是根据实际情况来设计的。
3.描述抽象数据类型的格式
ADT 抽象数据类型名 Data 数据元素之间逻辑关系的定义 Operation 操作1 初始条件 操作结果描述 操作2 ... 操作3 ... endADT
1.6 总结
数据,数据对象,数据元素,数据项之间的关系
数据对象是性质相同的数据元素的集合,是数据的子集。实际生活中等同于数据
数据元素是组成数据的基本单位
数据项是组成数据元素的基本单位,是数据不可分割的最小单位
由以上能得出,数据结构是相互之间存在一种或多种特点关系的数据元素集合
同样是结构,从不同的角度来讨论,有不同的分类