ADT(抽象数据类型)
全知识整理目录
数据结构整理的目录包括了许多的数据结构相关知识。
目录
概述
抽象数据类型的出现
抽象数据类型
总结
概述
什么是ADT?
ADT全称(Abstract Data Type)是指数学模型以及定义在数学模型上的一组操作,抽象数据类型需要通过,固有的数据类型(高级编程中实现的数据类型)。对一个抽象数据类型进行定义时,必须给出他的名字及各运算的运算符名,即函数名。并且规定这些函数的参数性质。
我不知道你们看懂了吗?反正我是没看懂,下面我们来了解一下,通俗的理解方式。
抽象数据类型定义格式
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
} ADT 抽象数据类型名
抽象数据类型的出现
最初,计算机当中数据对象都是用二进制来表示,为了提高实用性,引入了整型这些基本的数据类型。
后来,感觉这些基本的数据类型不够用,例如树,图这些就不能表示,那么就允许用户自定义来解决。例如C中出现了构造数据类型(复合数据类型)。
尽管这样解决了,数据类型不够用的问题,那么又存在这些对某种类型的变量直接处理,类型的表示细节又是对外可见的,没有保护机制。
所以是为了保护数据类型,才出现了抽象数据类型。
抽象数据类型
经过前面的理解,可以了解到抽象数据类型是为了,隐藏类的细节而出现的。
那么这样就能够很好的理解,抽象数据类型是什么了。
抽象数据类型就是,一组数据类型,但跟普通的数据类型又不同,不但包含值,还包含在集值上的操作的集合,即在构造数据类型的基础上增加了对数据的操作,且类型的表示细节以及操作的细节都是对外不可见的。
总结
ADT抽象数据类型(快速通道):
- 用于用户定义的,表示应用问题的数学模型的一组操作的总称。
- 不仅包含数据,还包含对数据集值的操作。
- 类型的表示细节对外和操作,对外不可见。
ADT(抽象数据类型)相关推荐
- 抽象数据类型 ADT
5. 抽象数据类型(ADT) 抽象数据类型 (ADT,Abstract Data Type)是指一个 数学模型 以及定义在此数学模型上的一组操作. 它通常是对数据的某种抽象,定义了数据的 取值范围 及 ...
- 抽象数据类型与计算机内部表示和实现无关,第七话:抽象数据类型ADT
我们对已有的数据类型进行抽象,就有了抽象数据类型. 抽象数据类型(Abstract Date Type, ADT):是指一个数学模型及定义在该模型上的一组操作.抽象数据类型的定义仅取决于它的一组逻辑特 ...
- 数据结构第一次作业——抽象数据类型
1.作业内容(1分) ADT Rational{ 数据对象:D={e1,e2|e1,e2都是Elemtype类型} 数据关系:R={<e1,e2>} 基本操作:Builtration(&a ...
- 数据结构的基本概念和抽象数据类型
1.基本概念和术语 数据:是对客观事物的符号表示. 数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位 数据对象:性质相同的数据元素的集合是数据的一个子集 数 ...
- C语言之抽象数据类型(四十七)
1.数据类型 定义:是一个值的集合和定义在这个值集上的一组操作的总称. 2.抽象数据类型(Abstract Data Type) 定义:抽取实际问题的本质. 指由用户定义的.表示应用问题的数学模型,以 ...
- 【数据结构】数据结构的基本概念——逻辑结构、存储结构、抽象数据类型
文章目录 一.基本概念和术语? 1.数据 2.数据元素 3.数据项(属性.字段) 4.数据对象 5.数据结构 二.逻辑结构和物理结构(存储结构) 1.逻辑结构 1)定义 2)分类(线性结构和非线性结构 ...
- 抽象数据类型与计算机内部表示和实现无关,实验02 抽象数据类型的表示与实现.doc...
文档介绍: EvaluationWarning:ThedocumentwascreatedwithSpire..蕊歼植罩胖什塌浦有夏禽院灼屉重陕馆谗肘钡枪帽潭裙富队捌狞栅试颅蛆占芝虞却轮侠靛崎刑漆联斤 ...
- java 抽象数据类型_java抽象数据类型
抽象数据类型 抽象数据类型是描述数据结构的一种理论工具.在介绍抽象数据类型之前我们先介绍一 下数据类型的基本概念. 数据类型(data type)是一组性质相同的数据元素的集合以及加在这个集合上的一组 ...
- 数据结构-抽象数据类型
抽象数据类型 抽象数据类型是指一个数学模型以及定义在此数学模型上的一组操作,简称ADT,(Abstract Data Type). ADT与具体的物理存储无关,不论ADT内部如何变化,都不影响外部使用 ...
最新文章
- Gmapping从开始到放弃—写一个TF 广播
- 用Python获取Linux资源信息的三种方法
- Python3安装(Linux)
- 日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!
- 【MySQL】Java.sql.SQLException Incorrect string value: \xF0\x9F\x98\x8D\xE8\xBE...
- 开源公司 HashiCorp 国内险遭禁,阿里、华为也要做好 B 计划?
- 怡丰机器人上市_【利元亨 | 复盘】十家自动停车机器人大PK,你更看好谁?
- python3中def的用法-python3中的def函数语法错误
- 解决SpringBoot集成Redis出现RedisConnectionException: Unable to connect to 192.168.64.100:6379
- 图书销售管理系统数据库SQL应用编程 和 安全管理
- lombok导入报错,版本1.18.12已在maven本地仓库中
- echarts多坐标轴图表
- V-Play 使用粗体验
- 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用
- dz社区模板源码手机自适应
- [转载]中国最致命的薄弱环节!(一个机械类毕业生的心声)
- 糗事百科 android源码,仿糗事百科Android客户端源码
- Chef Infra 16添加了YAML配方支持
- C++: 日程安排(多继承+友元函数)
- 面向自然语言处理的对抗攻防与鲁棒性分析综述 Survey of Adversarial Attack, Defense and Robustness Analysis for Natural Lang