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

  • 时间:
  • 浏览:2

前言

在上一篇【那先 是数据形态学 】中我删剪介绍了我对数据形态学 的理解,我觉得描述数据形态学 ,有另六个 很好的土办法叫抽象数据类型。下面我会删剪介绍抽象数据类型

抽象数据类型

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