数据类型和抽象数据类型

数据类型和抽象数据类型

  • 使用高级程序设计语言编写程序时,必须对程序中出现的每个变量或表达式,明确说明它们所属的数据类型
  • 例如,C语言中:
    -提供int,char,float,double等基本数据类型
    -数组,结构,共用体,枚举 等数据类型
    -还有指针,空(void)类型
    -用户也可用 typedef 自己定义数据类型
  • 一些最基本数据结构可以用数据类型来实现,如数组,字符串等
  • 而另一些常用的数据结构,如栈、队列,树,图等,不能直接用数据类型来表示
  • 高级语言中数据类型中明显地或隐含地规定了在程序中执行期间变量和表达的所有可能的取值范围,以及在这些数值范围上所允许的操作
    -例如,C语言中定义变量i为int类型,就表示i是[-min,max]范围的整数,在这个整数集上可以进行 + - * \ % 等操作

数据类型的作用

  1. 约束变量或常量的取值范围
  2. 约束变量或常量的操作

数据类型

  • 定义:数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称
  • 数据类型=值的集合+值集合上的一组操作

抽象数据类型ADT
是指一个数学模型以及定义在此数学模型上的一组操作

  • 由用户定义,从问题抽象出数据模型(逻辑结构)
  • 还包括定义在数据模型上的一组抽象运算(相关操作)
  • 不考虑计算机内的具体存储结构与运算的具体实现算法

抽象数据类型的形式定义
抽象数据类型可用(D,S,P)三元组表示,其中:

  1. D是数据的对象
  2. S是D上的关系集
  3. P是对D的基本操作集
ADT 抽象数据类型{
    数据对象:<数据对象的定义>
    数据关系:<数据关系的定义>
    基本操作:<基本操作的定义>
} ADT 抽象数据类型名

基本操作定义格式说明:
参数表:

  • 赋值参数 只为操作提供输入值
  • 引用参数以&打头,除可提供输入值外,还返回操作结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值