腾讯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的矩阵,至于在任务管理器上方它是怎样才能二个 存法?亲们 是用二维数组去存它?还是一维数组?还是用链表?因此 亲们 在抽象数据类型定义的已经 ,都会不关心的。我不管它是为什实现的,我就是说:因此你 实现的是二个 矩阵。再比如说上方图片中的Add()函数,可能它们还可否相加说说,因此你 返回它们的和,原先 可没说,在我算因此 矩阵加法的已经 ,到底是先按行加呢?还是先按列加呢?我到底是用哪些语言去实现因此 函数呢?因此 因此 因此 因此 不管,这就是所谓的抽象。

此篇完

到这抽象数据类型就是完了,虽然 因此 篇就是对数据特性的另两种描述,因此你 就看这说说亲们 们应该对数据特性有个清晰的认识了吧。提前做个预告,下篇就刚开始英文说算法了,跟已经 一样,我会清清楚楚描述,明明白白表达,我相信我的认真配得上您的关注。

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