大发快三最新版下载_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:1
  • 来源:河南新闻网_河南主流媒体_河南门户网站

前言

在上一篇【哪几种是数据型态】中我全部介绍了我对数据型态的理解,我觉得描述数据型态,有两个多很好的土法子叫抽象数据类型。下面我会全部介绍抽象数据类型

抽象数据类型

抽象数据类型英文名叫(Abstract Data Type),这里有两个多关键词,两个多叫“数据类型”,两个多叫“抽象”,它们分别是哪几种意思呢?首先说哪几种是数据类型呢?

数据类型,它中有 了两个多东西,两个多是“数据对象集”,否则亲们说的“是哪几种东西”,第两个是“数据集合相关联的操作集”,就上我在上一篇中说的,亲们可不不需要 单纯讲为什么我去处理图书,亲们是要对哪几种图书进行操作的,这两件事情:图书的摆放,对图书的操作,是紧密结合在并肩的。这两个多东西在C语言里是独立处理的,否则在你是什么 面向对象的语言上边,比如C++、Java,你就会发现,它们很好的为数据类型专门设计了三种机制,否则两个多“”,把你是什么 数据集跟它相关的操作集封装在两个多类上边。

那再说哪几种是抽象呢?

抽象,抽象的意思否则“不具体”,否则说,描述数据类型的土法子是不依赖于具体的实现的,对两个多数据类型的描述,它跟

  • 存放数据的机器无关
  • 跟数据存储的物理型态无关
  • 实现操作的算法和编程语言皆无关

总体来说,亲们只描述数据对象集和相关的操作集"是哪几种",亲们不关心“它是为什么我做到的”你是什么 问题图片。可能性到现在你是什么 可不不需要 不需要 基础的亲们看起来还是很抽象,没关系,我再举个例子,可能性帮助你更好的理解抽象数据类型到底是个哪几种东西,你是什么 例子是关于“矩阵”的抽象数据类型的定义。

首先亲们要给你是什么 抽象数据类型两个多名称叫“矩阵”,否则亲们要描述一下它的数据对象集,两个多NM的矩阵,是由NM个矩阵的元素构成的,亲们把你是什么 元素描述成两个多三元组a,i,j,其中a是你是什么 矩阵元素的值,并肩亲们还都要知道你是什么 矩阵元素在矩阵上边地处的位置,否则它的行号i和列号j,就原本描述了两个多数据的对象集,相关联的操作集有什么都什么都(如下图)



亲们来看一下,为哪几种你是什么 就叫做“抽象”的表示呢?首先亲们来看,在描述数据对象集的时候 ,说a是矩阵元素的值,那你是什么 值是float?还是double?还是int?亲们在你是什么 抽象数据类型中描述是不关心的,相应地,当都要对它的元素值进行操作的时候 ,亲们返回的也是ElementType,是两个多通用的元素类型,我在实现你是什么 矩阵相关的所有函数的时候 ,我在转过身写两个多define,你都要哪几种,让他把它define(定义)成哪几种样子,原本得话,你实现的哪几种函数是跟“你那个矩阵元素到底是哪种类型”是可不不需要 不需要 关系的,哪种类型还会都要运算的。这就处理了你对int实现了一遍,下一次矩阵变成double类型的,结果你又对double……难道重新写一遍吗?当然也许让他 直接用两个多replace(替换),我把所有的int替打上去double,呃……你是什么 让他 注意,你是什么 地方的int真的否则int,你可不不需要 打上去double,什么都可能性会出错,总的来说呢,否则可能性你另一方两个多两个多地去替换你是什么 元素的类型得话,会很麻烦,而抽象一下否则有你是什么 好处,这是两个多好处。另外两个多呢,像你是什么 矩阵,亲们否则说这是两个多M*N的矩阵,至于在系统tcp连接上边它是怎样两个多存法?亲们是用二维数组去存它?还是一维数组?还是用链表?你是什么 亲们在抽象数据类型定义的时候 ,还会不关心的。我不管它是为什么我实现的,我否则说:让他 实现的是两个多矩阵。再比如说上边图片中的Add()函数,可能性它们都要相加得话,让他 返回它们的和,原本可没说,在我算你是什么 矩阵加法的时候 ,到底是先按行加呢?还是先按列加呢?我到底是用哪几种语言去实现你是什么 函数呢?什么都不管,这否则所谓的抽象。

此篇完

到这抽象数据类型否则完了,我觉得你是什么 篇否则对数据型态的另三种描述,让他 看一遍这得话亲们们应该对数据型态有个清晰的认识了吧。提前做个预告,下篇就始于说算法了,跟时候 一样,我会清清楚楚描述,明明白白表达,我相信我的认真配得上您的关注。

 【原创声明】:另一方原创:https://www.cnblogs.com/zyx110/