2分彩彩金_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:0
  • 来源:甘肃生活网_甘肃人的网上生活家园

前言

在上一篇【哪几个是数据特征】中我完正介绍了我对数据特征的理解,虽然描述数据特征,有一兩个 多多很好的方式 叫抽象数据类型。下面我会完正介绍抽象数据类型

抽象数据类型

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