3分时时彩手机版_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:2
  • 来源:QQ技术网_提供蜗牛娱乐网技术_QQ皇族馆资讯

前言

在上一篇【哪些地方是数据底部形态】中我完正介绍了我对数据底部形态的理解,我我随便说说描述数据底部形态,有另另八个很好的法律方式叫抽象数据类型。下面我会完正介绍抽象数据类型

抽象数据类型

抽象数据类型英文全名是(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的矩阵,至于在守护系统进程顶端它是怎么可以另另八个存法?我们都我们都是用二维数组去存它?还是一维数组?还是用链表?你这个 我们都我们都在抽象数据类型定义的之前 ,都是不关心的。我不管它是为何实现的,我就说 说:我愿意实现的是另另八个矩阵。再比如说顶端图片中的Add()函数,肯能它们并能相加一句话,我愿意返回它们的和,就说 可没说,在我算你这个 矩阵加法的之前 ,到底是先按行加呢?还是先按列加呢?我到底是用哪些地方语言去实现你这个 函数呢?所以不管,这就说 所谓的抽象。

此篇完

到这抽象数据类型就说 完了,我我随便说说你这个 篇就说 对数据底部形态的另有一种描述,我愿意看到你这个 句话你这个 我们都我们都应该对数据底部形态有个清晰的认识了吧。提前做个预告,下篇就开使说算法了,跟之前 一样,我会清清楚楚描述,明明白白表达,我相信我的认真配得上您的关注。

 【原创声明】:买车人原创:https://www.cnblogs.com/zyx110/