码迷,mamicode.com
首页 > 其他好文 > 详细

抽象数据类型

时间:2019-07-13 21:28:11      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:作用域   构造   real   图像   string   运算   链式   一对多   顺序存储结构   

数据结构的三个方面:

数据的逻辑结构:

线性结构:线性表、栈、队

非线性结构:树形结构、图形结构

数据的存储结构:

顺序存储、链式存储

数据的运算:插入、删除、修改、查找、排序

 

什么叫数据的逻辑结构?

表示数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

集合结构:仅同属一个集合

线性结构:一对一  线性

树结构:一对多  非线性

图结构:多对多  非线性

 

什么叫数据的物理结构?

物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。

存储结构详解:

“数据元素”的映像

“关系”的映像

两种不同的存储结构:顺序存储结构、链式存储结构

 

什么是数据的运算?

在数据的逻辑结构上定义的操作算法。它在数据的存储结构上实现。

最常用的数据运算有5种:插入,删除,修改,查找,排序

 

抽象 数据类型(Abstract Data Type)

数据:数据是指能够输入到计算机当中,且能被计算机接受和处理的,字符,图形,图像,音频,视频等的总称。

数据类型:是一个值的集合和定义在该值集上的一组操作的总称。

int、string、float、double

这些数据类型均包含两个内容:

一是数据对象集,它确定了一个取值范围,就像书店里的每一本书一样。

另一个是作用域数据对象集上的操作集,也就是仅作用于相应的数据元素集合上,就像从书架上找书和向书架上插入新书这些操作仅对应于相应书架一样。

这两个内容在c语言中是独立处理的,而在面向对象程序设计语言中,则是将两者封装在一起,称为类。

抽象数据类型:由用户定义,用以表示应用问题的数据模型。它由基本的数据类型构成,并包括一组相关的服务(或称操作)。

它与数据类型实质上是一个概念,但其特征是使用与实现分离,实行封装和信息隐蔽(独立于计算机)。

 

定义抽象数据类型“复数”

ADT Complex{

数据对象:

D {e1,e2 e1,e2∈RealSet}

数据关系:

R1 {<e1,e2> | e1是复数的实数部分,|e2是复数的虚数部分}

}

基本操作:

AssignComplex(&Z,v1,v2)

操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值

DestroyComplex(&Z)

操作结果:复数Z被销毁。

GetReal(Z,&realPart)

初始条件:复数已存在。

操作结果:用realPart返回复数Z的实部值。

GetImag(Z,&ImagPart)

初始条件:复数已存在

操作结果:用ImagPart返回复数Z的虚部值。

Add(z1,z2,&sum)

初始条件:z1,z2是复数。

操作结果:用sum返回两个复数z1,z2的和值。

 

抽象数据类型可以通过固有的数据类型来表示和实现

整型、字符型、浮点型

 

抽象数据类型

标签:作用域   构造   real   图像   string   运算   链式   一对多   顺序存储结构   

原文地址:https://www.cnblogs.com/privilege/p/11182103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!