10分飞艇邀请码_【二】、什么是抽象数据类型

  • 时间:
  • 浏览:2

前言

在上一篇【哪些地方是数据价值形式】中我完全介绍了我对数据价值形式的理解,着实描述数据价值形式,有另4个很好的土土办法叫抽象数据类型。下面我会完全介绍抽象数据类型

抽象数据类型

抽象数据类型英文全名是(Abstract Data Type),这里有另4个关键词,另4个叫“数据类型”,另4个叫“抽象”,它们分别是哪些地方意思呢?首先说哪些地方是数据类型呢?

数据类型,它中含了另4个东西,另4个是“数据对象集”,也不亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 说的“是哪些地方东西”,第5个是“数据集合相关联的操作集”,就上我在上一篇中说的,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 只能单纯讲为何会么会去防止图书,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 是要对哪些地方地方图书进行操作的,这两件事情:图书的摆放,对图书的操作,是紧密结合在并肩的。并全是个东西在C语言里是独立防止的,假如有一天在某些面向对象的语言上边,比如C++、Java,你就会发现,它们很好的为数据类型专门设计了并全是机制,也不另4个“”,把并全是数据集跟它相关的操作集封装到另4个类上边。

那再说哪些地方是抽象呢?

抽象,抽象的意思也不“不具体”,也不说,描述数据类型的土土办法是不依赖于具体的实现的,对另4个数据类型的描述,它跟

  • 存放数据的机器无关
  • 跟数据存储的物理价值形式无关
  • 实现操作的算法和编程语言皆无关

总体来说,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 只描述数据对象集和相关的操作集"是哪些地方",亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 不关心“它是为何会么会做到的”并全是问題。可能性到现在某些越来越基础的亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 看起来还是很抽象,没关系,我再举个例子,可能性帮助你更好的理解抽象数据类型到底是个哪些地方东西,并全是例子是关于“矩阵”的抽象数据类型的定义。

首先亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 要给并全是抽象数据类型另4个名称叫“矩阵”,假如有一天亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 要描述一下它的数据对象集,另4个NM的矩阵,是由NM个矩阵的元素构成的,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 把并全是元素描述成另4个三元组a,i,j,其中a是并全是矩阵元素的值,并肩亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 还都要知道并全是矩阵元素在矩阵上边地处的位置,也不它的行号i和列号j,就那我描述了另4个数据的对象集,相关联的操作集有也不也不(如下图)



亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 来看一下,为哪些地方并全是就叫做“抽象”的表示呢?首先亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 来看,在描述数据对象集的就让,说a是矩阵元素的值,那并全是值是float?还是double?还是int?亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 在并全是抽象数据类型中描述是不关心的,相应地,当都要对它的元素值进行操作的就让,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 返回的也是ElementType,是另4个通用的元素类型,我在实现并全是矩阵相关的所有函数的就让,我在身旁写另4个define,你都要哪些地方,愿意把它define(定义)成哪些地方样子,那我一段话,你实现的哪些地方地方函数是跟“你那个矩阵元素到底是哪种类型”是越来越关系的,哪种类型全是可能不还都都可以 运算的。这就防止了你对int实现了一遍,下一次矩阵变成double类型的,结果你又对double……难道重新写一遍吗?当然你说歌词 我都要直接用另4个replace(替换),我把所有的int替加带double,呃……并全是我都要注意,某些地方的int真的也不int,你只能加带double,也不可能性会出错,总的来说呢,也不可能性你此人 另4个另4个地去替换并全是元素的类型一段话,会很麻烦,而抽象一下也不有并全是好处,这是另4个好处。另外另4个呢,像并全是矩阵,亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 也不说这是另4个M*N的矩阵,至于在程序上边它是怎么都都可以另4个存法?亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 是用二维数组去存它?还是一维数组?还是用链表?并全是亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 在抽象数据类型定义的就让,全是不关心的。我不管它是为何会么会实现的,你假如有一天说:我都要实现的是另4个矩阵。再比如说上边图片中的Add()函数,可能性它们可能不还都都可以 相加一段话,我都要返回它们的和,那我可没说,在我算并全是矩阵加法的就让,到底是先按行加呢?还是先按列加呢?我到底是用哪些地方语言去实现并全是函数呢?也不不管,这也不所谓的抽象。

此篇完

到这抽象数据类型也不完了,着实并全是篇也不对数据价值形式的另并全是描述,我看多多这个 段话亲戚亲戚我们歌词 歌词 歌词 我们歌词 歌词 歌词 我们歌词 歌词 歌词 们应该对数据价值形式有个清晰的认识了吧。提前做个预告,下篇就始于说算法了,跟就让一样,我会清清楚楚描述,明明白白表达,我相信我的认真配得上您的关注。

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