大发快3开奖历史_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:3
  • 来源:泽宇软件破解博客 - 专注共享董小明博客活动

前言

在上一篇【什么是数据形态学 】中我完全介绍了我对数据形态学 的理解,确实描述数据形态学 ,十个 很好的最好的法子叫抽象数据类型。下面我会完全介绍抽象数据类型

抽象数据类型

抽象数据类型英文叫雷(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/