好运五分快三玩法_【二】、什么是抽象数据类型

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