数据结构(第1章绪论)解读.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(第1章绪论)解读

11.数据类型(以C语言为例) 一个值的集合和定义在这个值集上的一组操作的总称 数据类型可分为 原子类型:数据的值是不可分解的 结构类型(复合类型):数据的值是由若干成份(数据项或数据元素)构成的 基本数据类型 字符(char)、整数(int)、浮点数(float/double)、指针(*) 复杂数据类型 数组([])、结构(struct)、枚举(enum)、 不同类型的变量,其所能取的值的范围不同,所能进行的操作不同。 1.2 基本概念和术语 在软件系统开发的全过程中,对客观现实中存在的事物,存在三个观察层面 应用层是用户通过物理观察得到的客观事物的视图,是可以用自然语言描述的,或用图形、图像、音频、视频等物理量表达的在概念层次上的数据。 逻辑层(抽象层)是从应用层次抽象出来的数据视图,利用抽象数据类型进行形式化描述。 实现层明确地表示出了数据的组织与存储结构,并用某种具体的程序设计语言进行代码实现。 1.2 基本概念和术语 1.2 基本概念和术语 12.抽象数据类型(ADT,Abstract Data Type) 是与具体计算机内部表示和实现方式无关的数据类型 是由一个逻辑上的数学模型以及定义在该模型上的一组操作构成 可以用三元组定义 (D, S, P) D是数据对象 S是D上的关系集 P是对D的基本操作集 抽象数据类型和数据类型实际上是一个概念 1.2 基本概念和术语 ADT 有两个重要特征: 一、数据抽象 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。 二、数据封装 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。 1.2 基本概念和术语 抽象数据类型的规范格式 抽象数据类型由三部分组成,即数据对象、数据关系、基本操作,其格式如下: ADT 抽象数据类型名 { 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作的定义 } ADT 抽象数据类型名 用伪码描述 用伪码描述 基本操作名(参数表) 初始条件:初始条件描述 操作结果:操作结果描述 基本的输入参数: -赋值参数:只为操作提供输入 -引用参数:以打头,既可提供输入值,还可以返回操作结果 抽象数据类型例 ADT Triplet // 三元组的抽象数据类型 { 数据对象:D = {e1,e2,e3|e1,e2,e3 ∈ElemSet} 数据关系:R1 = {e1,e2,e2,e3} 基本操作: InitTriplet(T,v1,v2,v3) 操作结果:构造一个三元组。 DestroyTriplet (T) 操作结果:销毁三元组。 Get(T,i,e) 初始条件:三元组T已经存在,1≤i ≤3 操作结果:用e返回T的第i元的值 put(T,i,e) 初始条件:三元组T已经存在,1≤i ≤3 操作结果:改变T中的第i元的值为e IsAsceding(T) 初始条件:三元组T已经存在 操作结果:如果T的3个元素按升序排序, 则返回1;否则返回0。 IsDesceding(T)初始条件:三元组T已经存在 操作结果:如果T的3个元素按降序排序, 则返回1;否则返回0。 抽象数据类型例 Max(T,e) 初试条件:三元组T已存在 操作结果:用e返回T的3个元素的最大值。 Min(T,e) 初试条件:三元组T已存在 操作结果:用e返回T的3个元素的最大值。 } ADT Triplet 1.3 抽象数据类型的表示与实现 类C语言 类C语言是C语言的一个子集,同时作了一些扩充、修改,参见P10 . 由于我们用抽象数据类型来描述数据结构及其基本操作,因此这里所说的抽象数据类型的表示就是把相应数据结构在计算机中表示出来,通过前面的讨论可知,可借助一维数组或指针来表示。 抽象数据类型的实现就是写出相应基本操作的实现算法,这些算法当然可用C语言加以描述。但是,为了使我们的讨论既不拘泥于C语言的细节,又容易转换为C或C++程序,教材采用了类C语言来描述算法。 预定义了一些常量和Status类型。 存储结构均用typedef来描述,并约定数据元素的类型为ElemType。

文档评论(0)

22ffbqq + 关注
文档贡献者

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

1亿VIP精品文档

相关文档