抽象数据类型
Posted yinghuoshouxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象数据类型相关的知识,希望对你有一定的参考价值。
1.数据类型
数据类型(data type)是一个值的集合和定义在这个值集上的一组操作的总称。
- 原子类型:如语言的整形、字符型等标准类型及指针等简单的导出类型和空类型。
- 结构类型:其值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的,通常是由标准类型派生的。例如,C/C++中的数组、结构等类型。
2.抽象数据类型(abstract data type, ADT)
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。它通常是指对数据的某种抽象,定义了数据的取值范围及其结构形式,以及对数据的操作的集合。
“抽象”的意义在于数据类型的数学抽象特性。
3.抽象数据类型的描述方法
(D,S,P)
D是数据对象,S是D上的关系集,P是对D的基本操作集。
4.抽象数据类型一般可以由数据对象、数据关系及基本操作来定义。
ADT 抽象数据类型
{
数据对象(数据对象的定义)
数据关系(数据关系的定义)
基本操作(基本操作的定义)
}ADT 抽象数据类型名
其中,数据对象和数据关系的定义用集合描述,基本操作的定义格式为
返回类型 基本操作名(参数表)
5.对于每个操作,包含下列5个基本要素:
- 输入
- 前置条件
- 过程
- 输出
- 后置条件
7.面向对象的程序设计(OPP)方法。
在面向对象程序设计语言中,借助对象描述抽象数据类型,存储结构的说明和操作函数的说明被封装在一个整体结构中,这个整体结构称为类(class),属于某个类的具体变量称为对象(object)。
8.ADT和类的概念实际上反映了程序或软件设计的两层抽象:ADT相当于是在概念层(抽象层)上描述问题,而类相当于是在实现层上描述问题。
抽象数据类型与C++中类的对应关系如下:
抽象数据类型——类
数据对象——数据成员(属性)
基本操作——成员函数(方法)
以上是关于抽象数据类型的主要内容,如果未能解决你的问题,请参考以下文章
抽象数据类型(ADT)和面向对象编程(OOP)3.3 抽象数据类型