抽象数据类型:Abstract Data Types (ADT),定义是:一个数学模型及定义在些数学模型上的一组操作。数据模型太抽象了,代码大全中这样说的:一些数据以及对这些数据所进行操作的集合。
上面定义中的数据,是广意上的数据,可以指一组数字,也可以指一组描述一张地图的数据,也可以指一个窗体等等。
ADT定义了数据存储及可对这些数据进行的操作 ,使用它的人可以只关心它的逻辑特征,不需要了解它的存储方式。定义它的人同样不必要关心它如何存储。从而让使用者可以在更高层次(在问题领域,而非底层实现领域)上进行数据操作,隔离了使用与实现。
ADT的描述一般形式如下:
名称{
数据对象:......
数据关系:......
操作集合:......
}
ADT是类的基础。ADT具有抽象和封装的特点。所以跟类一样具备抽象与封装带来的益处。以下是代码大全中对ADT的好处的说明:
1.改动不会影响程序
2.让接口能提供更多信息。(接口(如名称)可以传达出更多信息)
3.更容易提高性能(修改ADT实现,则此ADT的所有使用者都可以受益,并且不用做修改)
4.让程序的正确性更显而易见(操作接口,而非操作细节,如果Font.SetBoldOn()与Font.attribute= 0x02)
5.程序更具自我说明性(同4的例子)
6无须在程序内到处传递数据(只使用ADT提供的接口,不用操作细节中的数据)
7可以像现实世界中那样操作实体,而不是在底层实现上操作它。
java中的ADT:java中的集合即是抽象数据类型。
分享到:
相关推荐
图的抽象数据类型实现 数据结构实验 广工 链表实现
抽象数据类型的c语言实现抽象数据类型的c语言实现抽象数据类型的c语言实现抽象数据类型的c语言实现抽象数据类型的c语言实现
该代码实现了抽象数据类型树的各个基本操作,包括遍历等
图 抽象数据类型的实现 其中实现了一些最基本的函数.同时也给出了主函数供测试!!希望对正在学习数据结构的朋友们能有所帮助!!
实验项目名称: 抽象数据类型的实现 实验项目性质: 设计性实验 所属课程名称: 数据结构 以教材中讨论的各种抽象数据类型为对象,利用C语言的数据类型表示和实现其中某个抽象数据类型。 本资源包括了可执行文件、源...
体系结构课会用到的 共勉之乎 抽象数据类型的是想方法和OO的思想很像,附送该种设计风格的逻辑视图和开发视图
图的抽象数据类型实现和数据结构课程设计 打包一起的 一起花了十几天做的 里面什么都有了 实验报告 可执行文件 源代码 老师两个都给了优秀
1. 线性表的抽象数据类型定义为: ADT LinkList{ 数据对象:D={ | IntSet,i=1,2,…,n,n 0} 数据关系:R1={, >| , D, ,i=2,…,n} 基本操作: InitList(*L) 操作结果:构造一个空的...
一、 题目:图的抽象数据类型实现 利用VC++的工作环境实现教材里图的基本抽象数据类型。按照课本的要求运用c语言以及数据结构课程所学的知识,设计合理的数据存储结果,实现图的基本操作。 二、 抽象数据类型定义...
抽象数据类型(三元组ADT、复数四则运算) 数据结构 湖南大学
通过构造有理数的抽象数据类型,完成有理分数加减乘除和求导操作。
设计实现抽象数据类型“复数” 实现复数的加法、减法、乘法,以及求复数的实部、虚部等基本操作。
抽象数据类型:有理数四则运算。使用C语言编写
对某个具体的抽象数据类型,运用课程所学的知识和方法,设计合理的数据结构,并在此基础上实现该抽象数据类型的全部基本操作。通过本设计性实验,检验所学知识和能力,发现学习中存在的问题。 进而达到熟练地运用本...
一元稀疏多项式。。。polynomial 抽象数据类型
C实现稀疏矩阵抽象数据类型
用C语言实现了常见的抽象数据类型线性表 栈 队列 二叉树 广义表 串 内部排序 二元组等,
二叉树抽象数据类型,本人自己所编,互动互动1