第1章_数据结构概述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据类型: (data type) 数据类型是一组性质相同的值的集合以及定义于这个值 集合上的一组操作的总称。 例如,C 语言中的 int 型变量,是指由 -32768 到 32767 范围中的值构成的集合及一组操作(加、减、乘、除、乘方 等)的总称。 约束变量或常量的取值范围, 约束变量或常量的操作。 在用高级程序设计语言编写的程序中,必须对 程序中出现的每个变量、常量或表达式,明确 说明它们所属的数据类型。例如,C 语言中的 基本数据类型有:整型、字符型、实型(包括 单精度型和双精度型)及枚举型。 数据类型的作用 1.2.3 数据类型的概念 数据类型 数据类型 = 数据值的集合 + 一组操作 注意:数据类型是一个非常重要的概念,要正确理解它!! (1)高级语言中的数据类型实际上包括:数据的逻辑结构、数据的存储结构及所定义的操作的实现。 (2)高级语言中的数据类型按值的不同特性分为: 原子类型(如整型、实型、字符型、布尔型) 结构类型(如数组) (3)数据类型并不局限于高级语言,它实际上是一个广义的概念。 例如:“教师”就是一个数据类型,他有值“教龄”,有操作“教书”等;如果具体说小学教师、大学教师,可以看作是一个具体的类型(好象有了存储结构); (4)我们可以撇开计算机不考虑,现实中的任何一个问题都可以定义为一个数据类型——称为抽象数据类型 数据类型的作用 是解释计算机内存中信息含义的手段。  实现了信息的隐蔽,将用户不 必了解的细节封装在类型中。 抽象特性 强调的是其所能完成的功能以及它和外部 用户的接口 (即外界使用它的方法) 。 所有高级语言中都有“整型”数据类型,它们的实现方法 可以各自不同,但对程序员而言,它们是“相同”的。程序员 使用它们时仅需了解它们的数学特性,而不需要了解它们在 语言中是如何实现的。换句话说,各种语言中实现的是同一 个 “整数类型”,而这个“整数类型”的定义仅对 “整数的数学 特性”有明确规定。 int: 65(十进制数) char:A 抽象数据类型 抽象数据类型 = 数据结构 + 数据操作。 抽象思维方法:舍去复杂系统中非本质的细节,只把其中某些 本质的、能反映系统重要宏观特性的东西提炼出来,构成系统 的模型,并且深入研究这些特性。 例如:“平房”-本质特性包括 墙体、门、窗、房顶等 再如:有一堆鸡蛋,进行了编号,我们可以对它们进行如下操作: 找出最重的; 取走某一个; 全部搬走; 这是一个抽象的定义,并没有考虑鸡蛋在哪里放着!! 在思考一个复杂的解决时,首先应考虑能否将它抽象简化,否则很难理解或者实现它! 抽象数据类型分为三种。 原子类型。其值不能再分解成更简单的数据类型。 静态聚合类型。其值由固定个数的数据项组成的复合数据类型。 动态聚合类型。其值由个数可变的数据项组成的复合数据类型 ADT 有两个重要特征: 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口。 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。 数据抽象 数据封装 抽象数据类型的描述方法 抽象数据类型可用(D,S,P)三元组表示。 其中:D 是数据对象; S 是 D 上的关系集; P 是对 D 的基本操作集。 ADT 抽象数据类型名 { 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉 } ADT 抽象数据类型名 用伪码 (不真正执行的符号) 描述 基本操作的定义格式: 赋值参数:只为操作提供输入值; 引用参数:以打头, 既可提供输 入值,还可返回结果。 描述操作执行前数据结构和参数应满足的条件, 若不满足,则操作失败,并返回相应出错信息。 说明操作正常完成之后,数据结构的变化状况 和应返回的结果。 基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉 例1:掷骰(tou)子(色子)游戏。 问题描述:每次掷出N个骰子,统计每次的总点数和每个骰子的 点数,看看谁的高。 问题分析:该问题的数据包括骰子数、每个骰子的点数和总点数, 骰子数是大于0的整数N;每个

文档评论(0)

xiaohuer + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档