3分时时彩骗局_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:0
  • 来源: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/