分分pk10下载安装_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:2
  • 来源:浙江生活网_浙江人的网上生活家园

前言

在上一篇【有一种 是数据价值形式】中我完整性介绍了我对数据价值形式的理解,确实描述数据价值形式,有一一八个多很好的措施 叫抽象数据类型。下面我会完整性介绍抽象数据类型

抽象数据类型

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

数据类型,它蕴含了一一八个多东西,一一八个多是“数据对象集”,越多越多越多越多亲们儿说的“是有一种 东西”,第八个是“数据集合相关联的操作集”,就上我在上一篇中说的,亲们儿必须单纯讲为什么在么在去补救图书,亲们儿是要对有一种 图书进行操作的,这两件事情:图书的摆放,对图书的操作,是紧密结合在一起的。这2个多东西在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/