chap001-98.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文档。上传文档
查看更多
chap001-98

数 据 结 构 教材作者:严蔚敏 主讲者:朱习军 青岛科技大学信息学院 Tel:1座机电话号码99 Email:zhuxj990@163.com 例1 书目自动检索系统 例2 人机对奕问题 例3.多叉路口交通灯管理问题 数据结构的范畴 一种数据结构由它的逻辑结构和对他进行的基本运算组成。数据结构课程研究的主要任务就是各种数据结构的设计和在计算机上的具体实现,即把逻辑结构转化为存储结构、把每一种运算转化为用一种语言描述的算法; 研究数据结构就是研究数据的逻辑结构、存储结构以及相应的运算及其实现,这也是学习数据结构课程的目的与任务。 1 算法的描述 1. 自然语言:用自然语言给出解决问题的详细步骤。 2. 流程图:以约定的图框表示。 3. N-S图:一种结构化的流程图。 4. 伪代码:使用介于自然语言和计算机语言之间的文字、符号来描述算法。 5. 计算机语言:采用这种方法必须严格遵守所使用的语言的语法规则。 2 算法的描述——自然语言 计算 N! 的算法 Step1: 输入正整数 N Step2: 1 ? t Step3: 2 ? i Step4: t*i ? t 左t存储i-1的阶层,右t存储i-1的阶层 Step5: i+1 ? i Step6: if i N then goto Step7 else goto Step4 Step7: 输出 t 的值,并结束 其中,Step1 – Step3 称为初始化。 3 算法的描述——伪代码描述 伪代码(pseudo code)是用介于自然语言与计算机语言之间的文字和符号来描述算法。 无固定的、严格的语法规则,如同一篇文章,自上而下地写下来。可以用自然语言,也可以用程序设计语言或使用自然语言与程序设计语言的混合体。 伪代码书写方便,格式紧凑,也比较好懂,便于向计算机语言过渡。 用伪代码描述算法举例 例1.3 求5!即1*2*3*4*5 开始 置t的初值为1 置i的初值为2 当i<=5,执行循环 { 使t t*i 使i i+1 } 打印t的值 结束 (4)本教材算法描述的主要方法 参见教材关于类C语言的语法和规格说明,书中及课堂大多数例子关于算法的描述均采用该方法,即类C语言描述。 要说明的是,上机实验时若在TC或C++环境下对此要作小的改动。 数据类型 是一个 值的集合 和定义在此集合上的 一组操作 的总称。 数据类型又分为原子型和结构型 不同类型的变量,其所能取的值的范围不同,所能进行的操作不同。 三、抽象数据类型 Abstract Data Type 简称ADT 是指一个数学模型以及定义在此数学模型上的一组操作。 例如,抽象数据类型复数的定义: 数据对象: D= e1,e2|e1,e2∈RealSet 数据关系: R1= e1,e2 | e1是复数的实数部分 | e2 是复数的虚数部分 ADT Complex 基本操作: AssignComplex Z, v1, v2 操作结果:构造复数 Z,其实部和虚部 分别被赋以参数 v1 和 v2 的值。 DestroyComplex Z 操作结果:复数Z被销毁。 GetReal Z, realPart 初始条件:复数已存在。 操作结果:用realPart返回复数Z的实部值。 GetImag Z, ImagPart 初始条件:复数已存在。 操作结果:用ImagPart返回复数Z的虚部值。 Add z1,z2, sum 初始条件:z1, z2是复数。 操作结果:用sum返回两个复数z1, z2 的 和值。 ADT Complex 假设:z1和z2是上述定义的复数 则 Add z1, z2, z3 操作的结果 z3 z1 + z2 即为用户企求的结果 ADT 有两个重要特征: 数据抽象 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。 数据封装 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。 抽象数据类型的描述方法 抽象数据类型可用(D,S,P)三元组表示。 其中:D 是数据对象; S 是 D 上的关系集; P 是对 D 的基本操作集。 ADT 抽象数据类型名 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉 ADT 抽象数据类型名 其中基本操作的定义格式为: 基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉 赋值参数 只为操作提供输入值。 引用参数 以打头,除可提供输入值外, 还将返回操作结果。 初始条件 描述了操作执行之前数据结构和参数应满足的条件

文档评论(0)

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

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

1亿VIP精品文档

相关文档