抽象数据类型

1.数据类型

数据类型(data type)是一个值的集合和定义在这个值集上的一组操作的总称。

  • 原子类型:如语言的整形、字符型等标准类型及指针等简单的导出类型和空类型。
  • 结构类型:其值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的,通常是由标准类型派生的。例如,C/C++中的数组、结构等类型。

2.抽象数据类型(abstract data type, ADT)

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。它通常是指对数据的某种抽象,定义了数据的取值范围及其结构形式,以及对数据的操作的集合。

“抽象”的意义在于数据类型的数学抽象特性。

3.抽象数据类型的描述方法

(D,S,P)

D是数据对象,S是D上的关系集,P是对D的基本操作集。

4.抽象数据类型一般可以由数据对象、数据关系及基本操作来定义。

ADT  抽象数据类型

{

    数据对象(数据对象的定义)

    数据关系(数据关系的定义)

    基本操作(基本操作的定义)

}ADT 抽象数据类型名

其中,数据对象和数据关系的定义用集合描述,基本操作的定义格式为

    返回类型 基本操作名(参数表)

5.对于每个操作,包含下列5个基本要素:

  • 输入
  • 前置条件
  • 过程
  • 输出
  • 后置条件
6.基本操作有两种参数:赋值参数只为操作提供输出值;引用参数以&开头,除可提供输出值外,还将返回操作结果。

7.面向对象的程序设计(OPP)方法。

   在面向对象程序设计语言中,借助对象描述抽象数据类型,存储结构的说明和操作函数的说明被封装在一个整体结构中,这个整体结构称为类(class),属于某个类的具体变量称为对象(object)。

8.ADT和类的概念实际上反映了程序或软件设计的两层抽象:ADT相当于是在概念层(抽象层)上描述问题,而类相当于是在实现层上描述问题。

抽象数据类型与C++中类的对应关系如下:

                         抽象数据类型——类

                         数据对象——数据成员(属性)

                         基本操作——成员函数(方法)

猜你喜欢

转载自www.cnblogs.com/yinghuoshouxin/p/9193189.html