精华内容
下载资源
问答
  • 抽象数据类型
    千次阅读 多人点赞
    2021-03-04 15:41:05

    抽象数据类型,泛指除基本数据类型以外的数据类型。
    基本数据类型被认做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用

    更多相关内容
  • 数据结构与算法(3)–栈抽象数据类型及Python实现 1. 什么是栈? 是一种有次序的数据项集合,在栈中数据项的加入和移除都发生在同一端。一端叫做栈顶,另一端叫做栈底。 1.1. 特点 距离在栈底比较近的数据项,待的...
  •  在本文中,我们将考察Java中的数据类型,但是我们将介绍抽象数据类型(ADT)的概念。我们还将通过介绍Java Collections Framework(Java 集合架构)来学习Java定义的一些ADT。 ADT 一个ADT是一个仅由保存的...
  • 实验项目名称: 抽象数据类型的实现 实验项目性质: 设计性实验 所属课程名称: 数据结构 以教材中讨论的各种抽象数据类型为对象,利用C语言的数据类型表示和实现其中某个抽象数据类型。 本资源包括了可执行文件、源...
  • java抽象数据类型

    2021-02-12 21:50:32
    抽象数据类型抽象数据类型是描述数据结构的一种理论工具。在介绍抽象数据类型之前我们先介绍一下数据类型的基本概念。数据类型(data type)是一组性质相同的数据元素的集合以及加在这个集合上的一组操作。例如Java ...

    抽象数据类型

    抽象数据类型是描述数据结构的一种理论工具。在介绍抽象数据类型之前我们先介绍一

    下数据类型的基本概念。

    数据类型(data type)是一组性质相同的数据元素的集合以及加在这个集合上的一组操

    作。例如Java 语言中就有许多不同的数据类型,包括数值型的数据类型、字符串、布尔型

    等数据类型。以Java 中的int 型为例,int 型的数据元素的集合是[-2147483648,2147483647]

    间的整数,定义在其上的操作有加、减、乘、除四则运算,还有模运算等。

    定义数据类型的作用一个是隐藏计算机硬件及其特性和差别,使硬件对于用户而言是透

    明的,即用户可以不关心数据类型是怎么实现的而可以使用它。定义数据类型的另一个作用

    是,用户能够使用数据类型定义的操作,方便的实现问题的求解。例如,用户可以使用Java

    定义在int 型的加法操作完成两个整数的加法运算,而不用关心两个整数的加法在计算机中

    到底是如何实现的。这样不但加快了用户解决问题的速度,也使得用户可以在更高的层面上

    考虑问题。

    与机器语言、汇编语言相比,高级语言的出现大大地简便了程序设计。但是要将解答问

    题的步骤从非形式的自然语言表达到形式化的高级语言表达,仍然是一个复杂的过程,仍然

    要做很多繁杂琐碎的事情,因而仍然需要抽象。

    对于一个明确的问题,要解答这个问题,总是先选用该问题的一个数据模型。接着,弄清

    该问题所选用的数据模型在已知条件下的初始状态和要求的结果状态,以及隐含着的两个状

    态之间的关系。然后探索从数据模型的已知初始状态出发到达要求的结果状态所必需的运算

    步骤。

    我们在探索运算步骤时,首先应该考虑顶层的运算步骤,然后再考虑底层的运算步骤。

    所谓顶层的运算步骤是指定义在数据模型级上的运算步骤,或叫宏观运算。它们组成解答问

    题步骤的主干部分。其中涉及的数据是数据模型中的一个变量,暂时不关心它的数据结构;

    涉及的运算以数据模型中的数据变量作为运算对象,或作为运算结果,或二者兼而为之,简

    称为定义在数据模型上的运算。由于暂时不关心变量的数据结构,这些运算都带有抽象性质,

    不含运算的细节。所谓底层的运算步骤是指顶层抽象的运算的具体实现。它们依赖于数据模

    型的结构,依赖于数据模型结构的具体表示。因此,底层的运算步骤包括两部分:一是数据

    模型的具体表示;二是定义在该数据模型上的运算的具体实现。我们可以把它们理解为微观

    运算。于是,底层运算是顶层运算的细化,底层运算为顶层运算服务。为了将顶层算法与底

    层算法隔开,使二者在设计时不会互相牵制、互相影响,必须对二者的接口进行一次抽象。

    让底层只通过这个接口为顶层服务,顶层也只通过这个接口调用底层的运算。这个接口就是

    抽象数据类型。

    抽象数据类型(abstract data type, 简称ADT)由一种数据模型和在该数据模型上的一

    组操作组成。

    抽象数据类型包括定义和实现两个方面,其中定义是独立于实现的。抽象数据类型的定

    义仅取决于它的逻辑特性,而与其在计算机内部的实现无关,即无论它的内部结构如何变化,

    只要它的逻辑特性不变,都不会影响到它的使用。其内部的变化(抽象数据类型实现的变化)

    只是可能会对外部在使用它解决问题时的效率上产生影响,因此我们的一个重要任务就是如

    何简单、高效地实现抽象数据类型。很明显,对于不同的运算组,为使组中所有运算的效率

    都尽可能地高,其相应的数据模型具体表示的选择将是不同的。在这个意义下,数据模型的

    具体表示又依赖于数据模型上定义的那些运算。特别是,当不同运算的效率互相制约时,还

    必须事先将所有的运算的相应使用频度排序,让所选择的数据模型的具体表示优先保证使用

    频度较高的运算有较高的效率。

    我们应该看到,抽象数据类型的概念并不是全新的概念。抽象数据类型和数据类型在实

    质上是一个概念,只不过是对数据类型的进一步抽象,不仅限于各种不同的计算机处理器中

    已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。例如

    高级语言都有的“整数”类型就是一种抽象数据类型,只不过高级语言中的整型引进实现了,

    并且实现的细节可能不同而已。我们没有意识到抽象数据类型的概念已经孕育在基本数据类

    型的概念之中,是因为我们已经习惯于在程序设计中使用基本数据类型和相关的运算,没有

    进一步深究而已。

    抽象数据类型一方面使得使用它的人可以只关心它的逻辑特征,不需要了解它的实现方

    式。另一方面可以使我们更容易描述现实世界,使得我们可以在更高的层面上来考虑问题。

    例如可以使用树来描述行政区划,使用图来描述通信网络。

    根据抽象数据类型的概念,对抽象数据类型进行定义就是约定抽象数据类型的名字,同

    时,约定在该类型上定义的一组运算的各个运算的名字,明确各个运算分别要 有多少个参

    数,这些参数的含义和顺序,以及运算的功能。一旦定义清楚,人们在使用时就可以像引用

    基本数据类型那样,十分简便地引用抽象数据类型;同时,抽象数据类型的实现就有了设计

    的依据和目标。抽象数据类型的使用和实现都与抽象数据类型的定义打交道,这样使用与实

    现没有直接的联系。因此,只要严格按照定义,抽象数据类型的使用和实现就可以互相独立,

    互不影响,实现对它们的隔离,达到抽象的目的。

    为此抽象数据类型可以使用一个三元组来表示:

    ADT = (D, S, P)

    其中D 是数据对象,S 是D 上的关系集,P 是加在D 上的一组操作。

    在定义抽象数据类型时,我们使用以下格式:

    ADT 抽象数据类型名{

    数据对象:

    数据关系:

    基本操作:

    }

    展开全文
  • 数据结构、数据类型、抽象数据类型之间的区别

    千次阅读 多人点赞 2019-11-03 20:15:37
    数据元素是最基本的数据单位,最基本的数据元素是一个二进制位。) 逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。包括: ...

    三者的定义(蓝字可忽略):

    • 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构。(数据元素是最基本的数据单位,最基本的数据元素是一个二进制位。)
      • 逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。包括: 
        • 1.集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系; 
        • 2.线性结构:数据结构中的元素存在一对一的相互关系; 
        • 3.树形结构:数据结构中的元素存在一对多的相互关系; 
        • 4.图形结构:数据结构中的元素存在多对多的相互关系。
      • 物理结构:指数据的逻辑结构在计算机存储空间的存放形式。 
        • 数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。 
        • 数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。 
        • 关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:顺序存储结构和链式存储结构。顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。 
    • 数据类型:是一个值的集合以及定义在这个值集上的一组操作。数据类型的分类为:原子类型和结构类型。
      • 为什么要有数据类型:计算机中内存也是有限的,为了提高内存使用效率,不浪费空间,自然是需要设计出数据类型来划定多大数据占多大内存空间,就有了数据类型。
    • 抽象数据类型:抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型,如int,float等)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。

    数据结构和数据类型的区别:

    • 数据类型的分类为:原子类型和结构类型;
      • 原子类型 = 一种值的集合 + 定义在值集合上的一组操作。(比如:int,float,字符串)
        • int型:包括值集(1,2,3,4,5。。。),并且可以在这些值上进行+-*/
      • 结构类型 = 一种数据结构 + 定义在这种数据结构上的一组操作。(比如:python中的列表,字典,元组)
      • 原子类型 + 结构类型 = 数据类型
    • 总结:数据结构是一种值(值=数据元素)的集合(根据数据结构的定义,只是给“值的集合”加了个约束:数据元素相互之间存在一种或多种特定关系,所以可以把数据结构看作一种值的集合),这种值集+定义在值集上的一组操作就是结构类型,而结构类型是数据类型的一种,所以数据结构是一种数据类型。
    • 数据结构可以看成是数据类型的一个子集(如下图):

    数据类型与抽象数据类型的区别:

    • 数据抽象的意义在于数据类型的数学抽象特性。抽象数据类型和数据类型实质上都是概念,只不过抽象数据类型是对数据类型的进一步抽象。不仅限于各种不同的计算机处理器中已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。不仅限于各种不同的计算机处理器中已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。如:C++中的类就是抽象数据类型的一种具体实现。
    • 通俗的讲:抽象数据类型,泛指除基本数据类型以外的数据类型。
      • 什么叫类型?就是一类数据。基本数据类型被人做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用。
      • 抽象数据类型的用处:比如你要实现对一个人地信息管理,如果你只用基本数据类型那么你需要定义很多数据类型的变量比如名字、性别、出生地、生日之类的,并且操作起来不方便。如果用抽象数据来实现就简单了,直接把这些信息放包装在一个新的数据类型中,然后就可以直接定义这样的一个变量就可以了。

    如果还不清楚两者的区别的话可以参考一下这篇文章:https://blog.csdn.net/weixin_42257806/article/details/80892797

    数据结构和抽象数据类型之间的区别:

    • “数据结构”定义为一个二元组(D,S),即两个集合,D是数据元素的集合,S是数据元素之间一个或多个关系的集合。
    • “抽象数据类型”本质是“数据类型”,与计算机相关,涉及数据的存储及如何用存储来反应数据元素之间的关系。它定义为一个三元组(D,S,P),加上的P是定义的一组针对存储的数据操作(如插入,删除,排序等)。
    • 总之“抽象数据类型”是“物理”概念,“数据结构”是“逻辑”概念。“抽象数据类型”来实现“数据结构”。

    上面就是对数据结构、数据类型、抽象数据类型之间的区别的说明,若有错误,欢迎指正。

    展开全文
  • 抽象数据类型案例

    千次阅读 多人点赞 2021-11-16 21:28:55
    数据结构-第一章-抽象数据类型案例数据结构前言一、介绍二、c++实现总结 前言 一、介绍 抽象数据类型(ADT)是指一个数学模型以及定义在该模型上的一组操作。其定义取决于它的一组逻辑特性,而其在计算机内部...

    数据结构


    数据结构-第一章

    数据结构-第一章-抽象数据类型案例

    前言


    一、介绍

    • 抽象数据类型(ADT)是指一个数学模型以及定义在该模型上的一组操作。其定义取决于它的一组逻辑特性,而其在计算机内部如何表示和实现无关,意思就是不论其内部结构如何变化,只要其数学特性不变,都不影响其外部的使用。

    • 抽象数据类型定义举例:

    抽象数据类型 (ADT)定义举例:Circle的定义
    
    ADT 抽象数据类型名{
    	Data
    	  数据对象的定义
    	  数据元素之间的逻辑关系的定义
    	Operation
    	  操作1
    	     初始条件
    		 操作结果描述
    	  操作2
    		......
    	  操作n
    	    ......
    
    }ADT 抽象数据类型名
    

    在这里插入图片描述

    二、c++实现

    用代码实现为:

    #include<iostream>
    using namespace std;
    #define PI 3.14
    
    
    
    struct Circle
    {
    	double m_r;//半径
    	void set_r(double R)
    	{
    		m_r = R;
    	}
    	double get_r()
    	{
    		return m_r;
    	}
    
    };
    
    double Area(Circle &c)
    {
    	double acer = PI*c.get_r()*c.get_r();
    	return acer;
    }
    
    double Circleference(Circle &c)
    {
    	double C = 2 * PI*c.get_r();
    	return C;
    }
    int main()
    {
    	Circle c;
    	c.set_r(10);
    	double acer = Area(c);
    	cout << "面积为:" << acer << endl;
    	double C = Circleference(c);
    	cout << "周长为:" << C << endl;
    	system("pause");
    	return 0;
    }
    

    经初步测试,代码无误。

    • 这里我采用的是结构体去做的,实际上还能用类去做。

    总结

    期待大家和我交流,留言或者私信,一起学习,一起进步!

    展开全文
  • 什么是抽象数据类型

    千次阅读 2021-04-29 23:15:13
    什么是抽象数据类型?前言1.数据类型和数据构造2.抽象数据类型的概念3.抽象数据类型的描述 前言 抽象数据类型(Abstract Data Type,ADT)是计算机领域中被广泛接受的一种思想和方法,也是一种用于设计和实现程序...
  • 有理数抽象数据类型

    2014-06-05 23:20:30
    通过构造有理数的抽象数据类型,完成有理分数加减乘除和求导操作。
  • 3. 抽象数据类型:是指一个数学模型以及定义在该模型上的一组操作。 数据结构的形式定义为:一个二元组,Data Structure = (D, S)其中D是数据元素的有限集,S是D上关系的有限集。 抽象数据类..
  • 体系结构课会用到的 共勉之乎 抽象数据类型的是想方法和OO的思想很像,附送该种设计风格的逻辑视图和开发视图
  • 数据结构课程里的抽象数据类型实现,最难的一个 图的抽象数据类型实现 老师给了优秀 做了5天的成果
  • 2.抽象数据类型(Abstract Data Type) 定义:抽取实际问题的本质。 指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。 具体分为:数据对象、数据对象关系的集合、数据对象基本...
  • 第七话:抽象数据类型ADT

    千次阅读 2021-07-27 06:01:07
    我们对已有的数据类型进行抽象,就有了抽象数据类型抽象数据类型(Abstract Date Type, ADT):是指一个数学模型及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何...
  • C实现稀疏矩阵抽象数据类型
  • 抽象数据类型复数complex:ADT complex{数据对象:D={e1,e2|e1,e2∈R}数据关系:R1={}基本操作:Initcomplex(&T,v1,v2)操作结果:构造了复数T,元素e1,e2分别被赋以参数v1,v2的值.Destroycomplex(&T)初始...
  • 数据类型和抽象数据类型

    千次阅读 2020-02-22 16:31:35
    二、抽象数据类型(ADT) 1.定义:由用户定义的表示应用问题的数据模型,即数据结构以及定义在此结构上的一组运算。 2.特征: (1)数据抽象:用ADT描述程序程序处理的实体时,强调的是其本质特征、其所能完成的功能...
  • 数据类型: 是一个值的集合和定义在此集合上一组操作的总称。 数据类型有两种:简单型和结构类型。...抽象数据类型(Abstract Datat Type, ADT): 是一个数学模型和定义在此数学模型上一组操作。 ...
  • 图的抽象数据类型实现 数据结构实验 广工 链表实现
  • C语言实现抽象数据类型(ADT)

    千次阅读 多人点赞 2020-12-22 20:49:02
    C语言实现抽象数据类型(ADT)什么是抽象数据类型(ADT)C语言通过怎样的方式来实现ADT举例前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结学习目标:学习内容:学习时间:学习产出: 什么是抽象数据类型...
  • 实现两个有理数相加、相减、相乘以及求分子或求分母的运算。
  • 对某个具体的抽象数据类型,运用课程所学的知识和方法,设计合理的数据结构,并在此基础上实现该抽象数据类型的全部基本操作。通过本设计性实验,检验所学知识和能力,发现学习中存在的问题。 进而达到熟练地运用本...
  • 抽象数据类型的实例

    千次阅读 2020-03-20 15:21:38
    重新学习数据结构,主要了解了一些关于数据结构的一些相关的概念; 数据结构是一种带结构的数据集合;它包括逻辑结构还有存储结构,然后学习了一下数据类型的表示以及实现...抽象数据类型的定义仅仅取决于它的一组逻...
  • 功能有初始化,求最大值,最小值,按升序排序、按降序排序等等
  • 人们在使用计算机解决客观世界中存在的具体问题时,通常过程如下:首先通过对客观世界的认知形成印象和概念从而得到了信息,在此基础上... 数据结构主要与在上述过程中从建立概念模型到实现模型转化并为后续程序设...
  • 抽象数据类型(三元组ADT、复数四则运算) 数据结构 湖南大学
  • 抽象数据类型 抽象数据类型=逻辑结构+抽象运算 抽象数据类型暂不考虑计算机的具体存储结构和运算的具体实现。 抽象数据类型实质上,就是在描述问题本身(与计算机无关)。 目标:在不涉及具体的,和计算机系统相关...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 728,207
精华内容 291,282
关键字:

抽象数据类型

友情链接: ftpserver.rar