大话数据结构--数据结构概述(二)

简介: 大话数据结构--数据结构概述(二)

1.5 抽象数据类型



我们对已有的数据类型进行抽象,就有了抽象数据类型。


抽象数据类型(Abstract Data Type, ADT): 是指一个数学模型及定义在该模型上的一组操作。 抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。


听概念的确不太好理解,前期可以先学着,到后面慢慢用到的时候会有好的理解!


1.5.1 两个实例


1.坐标实例

比如我们编写关于计算机绘图或者地图类的软件系统,经常都会用到坐标。也就是说,总是有成对出现的x和y,在3D系统中还有z出现,既然这三个整型数字是始终在一起出现,我们就定义一个叫point的抽象数据类型,它有x、y、z三个整型变量,这样我们很方便地操作-一个point数据变量就能知道这一点的坐标了 。


2.超级玛丽

根据抽象数据类型的定义,它还包括定义在该模型上的一组操作。就像“ 超级玛丽”这个经典的任天堂游戏,里面的游戏主角是马里奥(Mario)。 我们给他定义了几种基本操作,走(前进、后退、上、下)、跳、打子弹等。一个抽象数据类型定义了:一个数据对象、数据对象中各数据元素之间的关系及对数据元素的操作。


至于,一个抽象数据类型到底需要哪些操作,这就只能由设计者根据实际需要来定。像马里奥,可能开始只有两种操作,走和跳,后来发现应该要增加一种打子弹的操作,再后来发现有些玩家希望它可以走得快点,就有了按住打子弹键后前进就会‘跑” 的操作。这都是根据实际情况来设计的。


image.png


3.描述抽象数据类型的格式


ADT 抽象数据类型名
Data
    数据元素之间逻辑关系的定义
Operation
    操作1
        初始条件
        操作结果描述
    操作2
        ...
    操作3
        ...
endADT


1.6 总结



数据,数据对象,数据元素,数据项之间的关系


数据对象是性质相同的数据元素的集合,是数据的子集。实际生活中等同于数据


数据元素是组成数据的基本单位


数据项是组成数据元素的基本单位,是数据不可分割的最小单位


由以上能得出,数据结构是相互之间存在一种或多种特点关系的数据元素集合


image.png


同样是结构,从不同的角度来讨论,有不同的分类


image.png

相关文章
|
3月前
|
算法 搜索推荐
数据结构和算法——表排序(算法概述、物理排序、复杂度分析,包含详细清晰图示过程)
数据结构和算法——表排序(算法概述、物理排序、复杂度分析,包含详细清晰图示过程)
26 0
|
3月前
|
算法 搜索推荐
数据结构和算法——快速排序(算法概述、选主元、子集划分、小规模数据的处理、算法实现)
数据结构和算法——快速排序(算法概述、选主元、子集划分、小规模数据的处理、算法实现)
25 0
|
4月前
|
存储 算法
【数据结构】数据结构概述
【数据结构】数据结构概述
62 1
|
4月前
|
存储 安全 Java
Hashtable和HashMap:差异,数据结构概述,以及JDK的影响
Hashtable和HashMap:差异,数据结构概述,以及JDK的影响
44 0
|
存储 算法 C++
Algorithms_基础数据结构(00)_数据结构概述
Algorithms_基础数据结构(00)_数据结构概述
55 0
Algorithms_基础数据结构(00)_数据结构概述
|
存储 机器学习/深度学习 算法
数据结构-概述
数据结构-概述
|
存储 机器学习/深度学习 Java
数据结构(4)树形结构——二叉树(概述、前序、中序、后序、层序遍历JAVA实现)
4.1.树 树,由n(n≥0)个有限节点和边组成一个具有层次关系的数据结构。树需要满足以下条件: 任何结点的子节点不相交。 任何子结点只有一个父节点。 N个结点,N-1条边。 对于一个非空树(结点数≥0),具有以下性质: 起始结点称为“根” 除根结点外可分为m个互不相交的有限集合,其中每个集合本身也是一棵树,称为原来这棵树的“子树”。
132 0
|
存储 消息中间件 NoSQL
【Redis基础知识 二】Redis数据结构概述
【Redis基础知识 二】Redis数据结构概述
77 0
|
存储 算法
数据结构和算法概述
数据结构和算法概述
58 0
|
存储 算法
【数据结构与算法】图的概述(内含源码)
【数据结构与算法】图的概述(内含源码)
84 0