来源:http://blog.sina.com.cn/s/blog_6b32b0870100twya.html
先来谈一下什么是数据类型。当年那些涉及计算机语言的人,为什么会考虑到数据类型呢?
比如,大家都需要住房子,也都希望房子越大越好。但显然,没有钱,考虑房子没有意义。于是就出现了各种各样的商品房,有别墅的、复式的、错层的、单间的……甚至只有两平米的胶囊房间。这样做的意义是满足不同人的需要。
同样,在计算机中,也存在相同的问题。计算1+1这样的表达式不需要开辟很大的存储空间,不需要适合小数甚至字符运算的内存空间。于是计算机的研究者们就考虑,要对数据进行分类,分出来多种数据类型。比如int,比如float。
虽然不同的计算机有不同的硬件系统,但实际上高级语言编写者才不管程序运行在什么计算机上,他们的目的就是为了实现整形数字的运算,比如a+b等。他们才不关心整数在计算机内部是如何表示的,也不管CPU是如何计算的。于是我们就考虑,无论什么计算机、什么语言都会面临类似的整数运算,我们可以考虑将其抽象出来。抽象是抽取出事物具有的普遍性本质,是对事物的一个概括,是一种思考问题的方式。
我们对已有的数据类型抽象,就有了抽象数据类型。
抽象数据类型(ADT)是指一个数学模型及定义在该模型上的一组操作。它仅取决于其逻辑特征,而与计算机内部如何表示和实现无关。比如刚才说得整型,各个计算机,不管大型机、小型机、PC、平板电脑甚至智能手机,都有“整型”类型,也需要整形运算,那么整型其实就是一个抽象数据类型。
根据定义抽象数据类型的定义,它还包括该模型上的一组操作。就像“超级玛丽”这个经典的任天堂游戏,里面的游戏主角是马里奥,我们给他定义了基本操作,前进、后退、跳、打子弹等。这就是一个抽象数据类型,定义了一个数据对象、对象中各元素之间的关系及对数据元素的操作。至于,到底是哪些操作,这只能由设计者根据实际需要来定。像马里奥可能开始只能走和跳,后来发现应该增加一种打子弹的操作,再后来又有了按住打子弹键后前进就有跑的操作。这都是根据实际情况来定的。
事实上,抽象数据类型体现了程序设计中问题分解和信息隐藏的特征。它把问题分解为多个规模较小且容易处理的问题,然后把每个功能模块的实现为一个独立单元,通过一次或多次调用来实现整个问题。
补:
抽象数据类型的表示与格式:
ADT = (D,S,P) (D:数据对象 S:D上的关系集 P:D上的一组操作)
ADT 抽象数据类型名称{
数据对象:<数据对象的定义>;
数据关系:<数据关系的定义>;
基本操作:<基本操作的定义>
}
相关推荐
在计算机科学中,数据结构是组织、存储和处理数据的方式,而抽象数据类型(Abstract Data Type,简称ADT)是对数据类型的逻辑特性的描述,它只关注数据的操作而不涉及具体的实现细节。本压缩包文件“图抽象数据类型...
图的抽象数据类型实现 数据结构实验 广工 链表实现
**KWIC 抽象数据类型实现** 在计算机科学中,抽象数据类型(Abstract Data Type,简称ADT)是一种重要的概念,它将数据结构与在该结构上操作的函数结合在一起,形成一个整体。ADT允许程序员关注数据的操作,而不是...
实验项目名称: 抽象数据类型的实现 实验项目性质: 设计性实验 所属课程名称: 数据结构 以教材中讨论的各种抽象数据类型为对象,利用C语言的数据类型表示和实现其中某个抽象数据类型。 本资源包括了可执行文件、源...
数据结构队列的抽象数据类型 队列是一种常用的数据结构,它是一种先进先出的数据结构,按照所选元素的顺序进行存储和提取。队列的抽象数据类型是指队列的存储结构和基本操作的实现。 队列的存储结构 在本实验中,...
在计算机科学中,抽象数据类型(Abstract Data Type, ADT)是一种高级的编程概念,它定义了一组数据以及这些数据上的操作集。ADT的主要目的是将数据结构与操作数据的方法封装起来,使得用户可以专注于数据的操作,而...
在计算机科学中,数据结构是组织、存储和处理数据的方式,而抽象数据类型(Abstract Data Type,简称ADT)则是对数据结构的一种高级抽象。它定义了一组操作以及这些操作如何作用于一组数据元素上。ADT关注的是数据的...
本课程设计的主题是“图的抽象数据类型实现和数据结构课程设计”,这是一项深度学习和实践图数据结构及其操作的活动。 首先,我们要理解“抽象数据类型”(Abstract Data Type, ADT)的概念。ADT是一种逻辑上的数据...
通过构造有理数的抽象数据类型,完成有理分数加减乘除和求导操作。
一、 题目:图的抽象数据类型实现 利用VC++的工作环境实现教材里图的基本抽象数据类型。按照课本的要求运用c语言以及数据结构课程所学的知识,设计合理的数据存储结果,实现图的基本操作。 二、 抽象数据类型定义...
数据结构中的抽象数据类型(ADT)是一种高级的编程概念,它定义了数据的组织方式以及操作这些数据的方法。在给定的代码中,我们看到了一个实现有理数ADT的例子,即处理分数的类。有理数由两个整数组成,代表分子和...
1. 线性表的抽象数据类型定义为: ADT LinkList{ 数据对象:D={ | IntSet,i=1,2,…,n,n 0} 数据关系:R1={, >| , D, ,i=2,…,n} 基本操作: InitList(*L) 操作结果:构造一个空的...
"数据结构实验-抽象数据类型"这个项目,显然聚焦于抽象数据类型的实现和应用。 抽象数据类型(Abstract Data Type,简称ADT)是一种高级编程概念,它定义了一组数据以及这些数据上的操作集。ADT关注的是数据的操作...
二叉树抽象数据类型,本人自己所编,互动互动1
有理数运算在计算机科学中是一个基础且重要的概念,特别是在抽象数据类型(Abstract Data Type, ADT)的设计和实现中。有理数是由两个整数(分子和分母)表示的分数,通常写为分子除以分母的形式,如3/4。在编程中,...
在本压缩包中,我们主要探讨的是“抽象数据类型”(Abstract Data Type, ADT)中的树。 抽象数据类型是定义数据类型的一种方法,它独立于任何特定的编程语言,只关注数据类型的操作和行为,而不是实现细节。在树的...
对某个具体的抽象数据类型,运用课程所学的知识和方法,设计合理的数据结构,并在此基础上实现该抽象数据类型的全部基本操作。通过本设计性实验,检验所学知识和能力,发现学习中存在的问题。 进而达到熟练地运用本...