数据结构

什么是抽象数据类型?如何定义抽象数据类型?

题目

什么是抽象数据类型?如何定义抽象数据类型?

参考答案和解析
正确答案: 抽象数据类型(AbstractDataType简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。ADT是与具体的物理存储无关的数据类型,因此,不论ADT的内部结构如何变化,只要其数据结构的特性不变,都不影响其外部使用。
对抽象数据类型的描述一般用(D,R,P)三元组表示,抽象数据类型的定义格式为:
A.DT<抽象数据类型名>
{数据对象D://<数据对象的定义>
数据关系R:<数据关系的定义>
基本操作P:<基本操作的定义>}
A.DT<抽象数据类型名>
其中,D是数据对象,R是D上的关系集,P是对D的基本操作集。
数据对象和数据关系的定义用伪代码来描述。基本操作的定义格式为:
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
初始条件说明操作执行之前数据结构和参数应满足的条件;操作结果说明操作完成后,数据结构的变化状况和应返回的结果。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

抽象数据类型 名词解释


参考答案:是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。

第2题:

类是一个支持集成的抽象数据类型,则对象是类的【 】。


正确答案:实例
实例 解析:类是具有共同属性、共同方法的对象的集合,故类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。

第3题:

类是一个支持集成的抽象数据类型,而对象是类的 【3】 。


正确答案:
正确答案:  1.(实例)  

第4题:

什么是抽象数据类型? 抽象数据类型和面向对象的程序设计方法有什么关系?


正确答案:抽象数据类型是指用以表示应用问题的一个数据模型以及定义在该模型上的一组操作。它与一般的数据类型的概念在本质上是一致的,都是对数据类型的数学特性的抽象,其目的是可以使程序设计者,在程序设计中更专注于数据的逻辑特性,而不必关心抽象数据类型实现的具体细节。但抽象数据类型比一般数据类型的抽象层次更高、范畴更广,它不局限于计算机系统中已定义和实现的数据类型,通常它是由用户根据实际问题的需要而定义,且通过计算机系统中已经定义的数据类型来表示和实现。因此,它是基于一般数据类型的更高层次上的一种数据抽象。
抽象数据类型的概念是由于程序设计方法和技术的发展而提出来的。为了更好的提高软件模块的可复用性和可扩充性,现代程序设计方法强调以数据为基础来构建软件系统,更加强调“封装”和“信息隐蔽”策略。面向对象的程序设计方法正是符合这种要求的方法。“类”是面向对象的程序设计方法中的核心概念,它是数据抽象的结果,类不但体现了封装和信息隐蔽的原则,而且具有继承性,因而为模块的复用提供了很好的条件。抽象数据类型具有封装和信息隐蔽的特点,可以做到使用与实现分离。由此可见,抽象数据类型与面向对象的方法的思想是一致的,从抽象数据类型出发来进行面向对象的程序设计,会使程序设计更加顺理成章。

第5题:

抽象数据类型是指一个数学模型以及定义在此数学模型上的一组操作。 ( )


答案:对
解析:
抽象数据类型是与表示无关的数据类型,是指一个数学模型以及定义在 此数学模型上的一组操作。

第6题:

类是支持集成的抽象数据类型,而对象是类的【 】。


正确答案:实例
实例 解析:在面向对象的程序设计中,类描述的是具有相似性质的一组对象,而一个具体对象称为类的实例。

第7题:

抽象数据类型是一种用户定义的对象数据类型,它由对象的【 】及其相应的方法组成。


正确答案:属性
属性 解析:抽象数据类型是一种用户定义的对象数据类型,它由对象的属性及其相应的方法组成。抽象数据类型可以嵌套使用,便于复用。

第8题:

( 16 )抽象数据类型是一种用户定义的对象数据类型,它由对象的 【 16 】 及其相应的方法组成 。


正确答案:

第9题:

可以用()定义一个完整的数据结构。

A.数据元素
B.数据对象
C.数据关系
D.抽象数据类型

答案:D
解析:
抽象数据类型描述了数据的逻辑结构和抽象运算,构成了一个完整的数据结构定义。

第10题:

为整数定义一个抽象数据类型,包含整数的常见运算,每个运算对应一个基本操作,每个基本操作的接口需定义前置条件、输入、功能、输出和后置条件。


正确答案:整数的抽象数据类型定义如下:
A.D Tinteger
D.ata
整数a:可以是正整数(1,2,3,…)、负整数(-1,-2,-3,…)和零
O.peration
C.onstructor前置条件:整数a不存在输入:一个整数b功能:构造一个与输入值相同的整数
输出:无
后置条件:整数a具有输入的值
S.et前置条件:存在一个整数a输入:一个整数b
功能:修改整数a的值,使之与输入的整数值相同输出:无
后置条件:整数a的值发生改变
A.dd前置条件:存在一个整数a输入:一个整数b
功能:将整数a与输入的整数b相加输出:相加后的结果
后置条件:整数a的值发生改变
S.ub前置条件:存在一个整数a输入:一个整数b
功能:将整数a与输入的整数b相减输出:相减的结果
后置条件:整数a的值发生改变
M.ulti前置条件:存在一个整数a输入:一个整数b
功能:将整数a与输入的整数b相乘输出:相乘的结果
后置条件:整数a的值发生改变
D.iv前置条件:存在一个整数a输入:一个整数b
功能:将整数a与输入的整数b相除
输出:若整数b为零,则抛出除零异常,否则输出相除的结果后置条件:整数a的值发生改变
M.od前置条件:存在一个整数a输入:一个整数b
功能:求当前整数与输入整数的模,即正的余数
输出:若整数b为零,则抛出除零异常,否则输出取模的结果后置条件:整数a的值发生改变
E.qual前置条件:存在一个整数a输入:一个整数b
功能:判断整数a与输入的整数b是否相等输出:若相等返回1,否则返回0
后置条件:整数a的值不发生改变
E.ndADT