精华内容
下载资源
问答
  • 数据结构、数据类型抽象数据类型之间的区别

    千次阅读 多人点赞 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是定义的一组针对存储的数据操作(如插入,删除,排序等)。
    • 总之“抽象数据类型”是“物理”概念,“数据结构”是“逻辑”概念。“抽象数据类型”来实现“数据结构”。

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

    展开全文
  • 如何理解数据结构中的抽象数据类型

    万次阅读 多人点赞 2018-09-04 18:49:23
    抽象数据类型(Abstract Data Type,ADT)是指个数学模型以及定义在这个模型上的组操作。 抽象数据类型的定义仅仅取决于它的组逻辑特性,而与它在计算机中的表示和实现无关。 例如,int类型的数据表示的.....

    ##抽象数据类型的标准格式

    ADT 抽象数据类型名
    {
    Data:
    数据元素之间逻辑关系的定义;
    Operation:
    操作1;
    操作2;
    ...
    }
    

    ##什么是抽象数据类型?

    抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在这个模型上的一组操作。
    抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与它在计算机中的表示和实现无关。

    例如,int类型的数据表示的是整数,可以进行加减乘除模等一些运算,int类型数据的这些数学特性保持不变,那么在编程者来看,他们都是相同的。

    因此,数据抽象的意义在于数据类型的数学抽象特性。

    抽象数据类型和数据类型在实质上是一个概念,只不过是对数据类型的进一步抽象,不仅限于各种不同的计算机处理器中已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。

    例如,在统计学生信息时,经常使用姓名、学号、成绩等信息,我们可以定义这样的一个抽象数据类型student,它封装了姓名、学号、成绩三个不同类型的变量,这样操作student的变量就能够很方便的知道这些信息了。C语言中的结构体以及C++、java语言中的类等都是这种形式。


    ##通俗的讲
    抽象数据类型,泛指除基本数据类型以外的数据类型。

    什么叫类型?就是一类数据。基本数据类型被人做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用。
    至于有什么用,这个用处可大了。比如你要实现对一个人地信息管理,如果你只用基本数据类型那么你需要定义很多数据类型的变量比如名字、性别、出生地、生日之类的,并且操作起来不方便。如果用抽象数据来实现就简单了,直接把这些信息放包装在一个新的数据类型中,然后就可以直接定义这样的一个变量就可以了。
    C++中的类更好的实现了封装功能,这就是类。类使得抽象数据类型的可操作性更强了,真正实现了面向对象。至于用法,只要学过C++肯定知道类地用法吧?那就是如何用。也许你现在觉得这样的操作更麻烦了,还不如C语言简洁的好。但是当你有一天真正的进入了公司,你才发现面向对象编程是多么棒的一种编程方式,他可以让你更高效的去开发。
    同时告诉你,你对负责操作不是很了解只能证明你的编程数量不够,在编程领域中永远要记住一句话:钢是打出来的。编程仅仅靠看书或是听老师讲解是行不通的,必须亲自躬行才能真正掌握它

    展开全文
  • 数据结构抽象数据类型

    千次阅读 2017-12-19 14:19:27
    抽象数据类型的定义可以由一种数据结构和定义在其上的一组操作组成,数据结构包括数据元素以及元素之间的关系。因此抽象数据元素类型一般由元素、关系及操作三种元素来定义。(D,R,P) D 是数据对象、R是D上的...

    题记:先捂上眼睛,不想算法,不想怎么计算时间复杂度,先刷刷“单纯”的数据结构


    抽象数据类型 Abstract Data Type 

    抽象数据类型的定义可以由一种数据结构和定义在其上的一组操作组成,数据结构又包括数据元素以及元素之间的关系。因此抽象数据元素类型一般由元素、关系及操作三种元素来定义。(D,R,P) D 是数据对象、R是D上的关系集、P 是对D的基本操作集

    抽象数据类型的定义格式


    ADT 抽象数据类型名

    数据对象:<数据对象的定义>

    数据关系:<数据关系的定义>

    基本操作:<基本操作的定义>

    }ADT 抽象数据类型名


    嗯,DRP 是程序员,永远的朋友。




    展开全文
  • 在学习数据结构类型时,首先遇到的个难点即是如何理解抽象数据结构类型。通过阅读多个博客,将个人理解总结如下: 如已看过抽象数据类型定义,可直接跳过定义。 抽象数据类似的定义 抽象数据类型(Abstract Data ...

    在学习数据结构类型时,首先遇到的一个难点即是如何理解抽象数据结构类型。通过阅读多个博客,将个人理解总结如下:

    如已看过抽象数据类型定义,可直接跳过定义。
    抽象数据类似的定义
    抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

    如何理解?
    1, 抽象数据类型 = 逻辑结构+数据运算。逻辑结构不涉及数据在计算机中具体的实现和存储,这些操作是由存储结构决定的,这就是说,抽象数据类型只需考虑问题本身即可。

    均以买衣服的例子进行解释:在买衣服砍价时,自己需要将砍价这个事情抽象为语句(即构建模型)表达出来(操作),而不需要考虑卖家能否接受自己说的话(不需要考虑计算机如何处理)。

    2,类型是指一类数据。基本数据类型被人做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。

    例:要表达的语句中,应包含“动词”,“衣服名称”,“价格数字”等类型。也就是说,说的语句是由许多基本类型组成。

    3,抽象数据类型是在在不涉及具体的,和计算机系统相关的细节情况下,优先理解问题本身,在此基础上,实现用计算机求解问题的过程。这就是使用抽象数据类型的目的。

    例:我将砍价的语句说出来目的就是为了能够便宜点买衣服,将话说出来也便于卖家了解我的想法(便于计算机进行处理)。

    再举一个别的博客里面的例子:
    构建抽象数据类型复数(e1+e2i)

    这里是引用

    通过上例可知,问题是要将复数加法描述出来,而抽象数据类型就是在这种形式化的描述下把数据的组成和如何操作的问题描述清楚,且没有涉及到具体的计算机具体实现的一些问题。从数据对象中看出,抽象数据类型是由实数数据类型组成。另外,右侧c++代码是在通过抽象数据类型ADT描述清楚问题本身后,然后在此基础上设计高级程序语言中具体实现的过程,在这个阶段涉及到了计算机的具体实现和存储等因素。从此可知,该例子也符合上文中提出的3点对抽象数据类型理解的看法。

    参考博客1
    参考博客2
    百度百科

    展开全文
  • 数据结构抽象数据类型

    千次阅读 2016-01-15 16:41:31
    数据结构呢,我们总是为了完成个功能或者目的写程序,但不管什么程序、代码实际上都是一些指令的集合,说白了就是在描述“怎么做”,而光知道怎么做还只是问题的一半,还要知道“做什么”,也就是刚才那些指令的...
  • 数据结构、数据类型抽象数据类型,这三个术语在字面上既不同又相近,反映出它们在含义上既有区别又有联系。 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映个数据的内部构成,即个数据...
  • 数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位数据对象:性质相同的数据元素的集合是数据的一个子集数据结构:相互之间存在一种或多种特定的关系的数据元素的集合...
  • 集合结构,线性结构,树结构,图结构)计算机世界里的数据结构是指存储结构(也是物理结构,包括:顺序结构,链接结构,索引结构,散列结构)1.2抽象数据类型(ADT)定义:由一种数据结构和在该数据结构上的一组操作...
  • 抽象数据类型(abstract data type,ADT)是指个数学模型以及定义在该模型上的组操作。 ADT 抽象数据类型名{ 数据对象:<数据对象的定义> 数据关系:<数据关系的定义> 基本操作:<基本操作的定义> ...
  • 它是数据的一种属性。这个属性限定了该数据的变化范围。数据类型仅局限于计算机中定义并实现了的数据类型数据结构:指的是数据之间的相互关系。主要体现在三个方面:1.数据间的逻辑结构,及数据元素之间的关系...
  • 抽象数据类型

    千次阅读 2016-09-28 16:42:34
    抽象数据类型 1.首先回顾一下程序设计语言中的数据类型 数据类型(data type)是个值的集合和定义在这个值集上的组操作的总称。 原子类型:如C/C++语言的整形、字符型等标准类型及指针等简单的导出类型和空类型...
  • 数据结构一种带结构的数据集合;它包括逻辑结构还有存储结构,然后学习了一下数据类型的表示以及实现,虽然在C语言基础中可以常常看到结构体,但是到今天才明白什么是用户建立自己的数据类型这句话,以下就是构建...
  • 抽象数据类型(ADT)入门(

    千次阅读 2015-03-20 16:40:02
    抽象数据类型(ADT)入门() 1、抽象数据类型(Abstract Data Types,ADT)和ADT的实现 抽象数据类型个数据元素集合以及在这些数据上的操作。 ADT的个实现包括存储数据元素的存储结构以及实现基本操作的...
  • 抽象数据类型的实例

    千次阅读 2020-03-20 15:21:38
    数据结构一种带结构的数据集合;它包括逻辑结构还有存储结构,然后学习了一下数据类型的表示以及实现,虽然在C语言基础中可以常常看到结构体,但是到今天才明白什么是用户建立自己的数据类型这句话,以下就是构建...
  • //数据结构基本概念 #include&lt;iostream&gt; using namespace std; /* 数据 – 程序的操作对象,用于描述客观事物 数据的特点: 可以输入到计算机 可以被计算机程序处理 数据是抽象的概念,将其进行...
  • 数据类型: 是个值的集合和定义在此集合上组操作的总称。 数据类型有两:简单型和结构类型。...抽象数据类型(Abstract Datat Type, ADT): 是个数学模型和定义在此数学模型上组操作。 ...
  • 1.数据:描述客观事物的数字、字符以及能输入机器...4.数据结构:指相互之间存在一种或多种特定关系的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。通常有:表结构、树形结构、图形结构。 5....
  • 数据结构:相互之间存在关系的数据元素的集合,描述的是数据与数据之间的结构关系,数据元素之间的存在的关系会产生不同的结构,例如(数组、队列、树、图等结构),这个结构其实也就是相互之间存在关系数据元素的...
  • 从四基本的原子数据类型:整型、浮点型、字符型、枚举型,到三构造类型:数组、结构体、指针,再到抽象数据类型:队列、栈、链表等等,逐渐构成程序设计的大厦。 为什么要学习数据结构? 这种逻辑方式有其合理...
  • 数据结构抽象数据类型(ADT)简介

    千次阅读 2010-10-28 20:39:00
    1. 数据(Data) 数据是信息的载体。它能够被计算机识别、存储和加工处理,是计算机程序加工的"原料"。 随着计算机应用领域的扩大,数据的范畴包括:整数、实数、字符串、图像和声音... 数据结构(Da
  • 1、串是由个或多个字符组成的有序数列,又叫字符串。 2、空格串是只包含空格的串,有长度有内容,而且可以不止个空格。 3、子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串,相应的包含子串的...
  • python数据结构以Data Structure and Algorithms Using Python为书本。  算法(Algorithm):为在有限时间内解决某个问题的系列清晰精确的、按顺序执行的指令集。  1.1 简介  数据项(Data items):在计算机中以...
  • 数据结构(Data Structure) 要了解什么是数据结构,首先要明确什么是数据和结构。 数据(Data) 数据是信息的载体。它能够被计算机识别、存储和加工处理,是计算机程序加工的”原料”。 随着计算机应用领域的...
  • 抽象数据结构(ADT)的介绍

    千次阅读 2018-11-30 09:42:19
    抽象数据类型(ADT(abstract data type))是一些操作的集合。抽象数据类型是数学的抽象;在ADT的定义中根本没有涉及如何实现操作的集合。 整数,实数及布尔量有与它们相关的操作,而抽象数据类型也有自己额相关...
  • 常见抽象数据类型

    千次阅读 2019-03-27 15:48:25
    、栈 结构:栈顶、栈底 特点:后进先出。从栈顶压入栈,从栈顶压出栈 二、队列 1、队列 结构:队头、队尾 特点:先进先出。从队尾入队列,从队头出队列 2、双端队列 结构:队头、队尾 特点:队头队尾均可入队/出队...
  • 1.1.2抽象数据类型举例

    千次阅读 2016-02-14 09:36:47
    java.lang.* 包下的抽象数据类型java标准库中的抽象数据类型I/O处理类的抽象数据类型面向数据类抽象数据类型(现实中的实例,通过面向对象的封装性包装)集合类抽象数据类型( bag, stack, queue )面向操作的抽象数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 496,782
精华内容 198,712
关键字:

一种抽象数据结构类型包括

数据结构 订阅