数据类型和抽象数据类型
大一0基础 自学数据结构 手写笔记,希望大家支持哈哈
建议大家下点赞收藏下载思维导图哦 看的清晰一点,内容更详细
数据类型
- 定义:数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。数据类型 = 值的集合 + 值集合上的一组操作
- 高级语言中的数据类型明显地或隐含地规定了在程序执行期间变量和表达的所有可能的取值范围,以及在这些数值范围上所允许进行的操作。
- 例如,C语言中定义变量i为int类型,就表示i是[-min, max](如 -32768 - 32767范围 )的整数,在这个整数集上可以进行+、-、*、\、%等操作
抽象数据类型ADT
- 定义:是指一个数学模型以及定义在此数学模型上的一组操作。
- 由用户定义,从问题抽象出数据模型(逻辑结构)
- 还包括定义在数据模型上的一组抽象运算(相关操作)
- 不考虑计算机内的具体存储结构与运算的具体实现算法
- 抽象数据类型的形式定义
- 抽象数据类型可用(D,S,P)三元组表示。
- 其中:D是数据对象;S是D上的关系集;P是对D的基本操作集。
- 抽象数据类型可用(D,S,P)三元组表示。
- 抽象数据类型的定义格式
- ADT 抽象数据类型名{
- 数据对象:<数据对象的定义>
- 数据关系:<数据关系的定义>
- 基本操作:<基本操作的定义>
}ADT 抽象数据类型名
- (数据对象、数据关系的定义 用伪代码描述)
- 基本操作的定义格式:
- 基本操作名(参数表)
- 初始条件:〈初始条件描述〉
- 操作结果:〈操作结果描述〉
- 参数表:赋值参数 只为操作提供输入值。引用参数 以&打头,除可提供输入值外,还将返回操作结果。
- 初始条件:描述操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。若初始条件为空,则省略之。
- 操作结果:说明操作正常完成之后,数据结构的变化状况和应返回的结果。
- ADT 抽象数据类型名{
- 抽象数据类型(ADT)定义举例:Circle的定义
- ADT Circle {
- 数据对象: D={r,x,y| r,x,y 均为实数}
- 数据关系: R={< r,x,y >| r是半径,<x,y>是圆心坐标 }
- 基本操作:
- Circle(&C,r,x,y)
- 操作结果: 构造一个圆。
- double Area©
- 初始条件: 圆已存在。
- 操作结果: 计算面积。
- double Circumference ©
- 初始条件: 圆已存在。
- 操作结果: 计算周长。
}ADT Circle
- Circle(&C,r,x,y)
- ADT Circle {
最后附上思维导图需要可以自取(附带资源下载的更清晰)
如果对你有帮助,欢迎点赞收藏,你的支持是我持续创作的最大动力!
有什么问题欢迎指出交流,看到就会回复哈。