数据类型及抽象数据类型

数据类型及抽象数据类型

数据类型

定义在一组性质相同的值的集合以及定义在这个值的集合上的一组操作的统称,即数据类型=值的集合+值集合上一组操作

数据类型的作用:

  • 约束变量或常量的取值范围
  • 约束变量或常量的操作

抽象数据类型(ADT)

一个数学模型以及定义在此数学模型上的一组操作;不考虑计算机内的具体存储结构与运算的具体实现方法

抽象数据类型的形式定义:(D(数据对象),S(关系集),P(基本操作集))三元组表示

ADT 抽象数据类型名{

​ 数据对象:<数据对象的定义(伪代码)>

​ 数据关系:<数据关系的定义(伪代码)>

基本操作:<基本操作的定义>

}ADT 抽象数据类型名


基本操作的定义格式:

  • 基本操作名(参数表)
    • 赋值参数:只为操作提供输入值
    • 引用参数:以&打头,除可提供输入值外,还将返回操作结果
  • 初始条件<初始条件描述>:描述操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息;若初始条件为空,则省略
  • 操作结果<操作结果描述>:说明操作正常完成之后,数据结构的变化状况和应返回的结果

例:ADT Circle {

​ 数据对象:D={r,x,y| r,x,y均为实数}

​ 数据关系:R={< r,x,y >| r是半径,<x,y>是圆心坐标}

​ 基本操作:

​ Circle(&C,r,x,y)

​ 操作结果:构造一个圆。

​ double Area(C)

​ 初始条件:圆已存在。

​ 操作结果:计算面积。

​ double Circumference (g)

​ 初始条件:圆已存在。

​ 操作结果:计算周长。

​ ......

}ADT Circle

posted @   原语  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2022-01-30 mysql操作数据库
2022-01-30 mysql命令行操作
点击右上角即可分享
微信分享提示