- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 序 论 1.1 什么是数据结构 1.2 数据结构基本概念 1.3 抽象数据类型概念 1.4 算法效率的度量 1.1 什么是数据结构 Q1 什么是数据结构? Q2 学习数据结构有什么用? 1.计算机解决具体问题的步骤 (1)从具体问题抽象出一个适当的数学模型。 (2)设计一个解决此数学模型的算法。 (3)编程。 (4)测试并调整,直至最终解决。 2.寻求数学模型 (1)分析问题 (2)提取操作的对象 (3)找出操作对象之间含有的关系 (4)用数学语言加以描述 例1 图书馆书目检索系统 (1)问题目标:自动检索 (2)操作对象:书目信息(登录号、书名、作者名、分类号、出版单位、出版时间等) (3)对象关系:顺序排列 (4)数学模型:线形数据结构 类似问题有:查号系统、仓库帐户系统等 例2 人机对弈问题 (1)问题目标:计算机不仅要会看格局,还能预测棋局发展,做出决策。 (2)操作对象:格局 (3)对象关系:一个格局可派生出多个格局 (4)数学模型:树形数据结构 例3 多叉路口交通灯的管理 (1)问题目标:设计交通灯方案,使车辆相互不冲突,且流量最大 例3 多叉路口交通灯的管理 (2)操作对象:顶点(表示通路,用两个字母表示,前者为出发点,后者为到达点) (3)对象关系:连线(表示通路之间的冲突关系) (4)数学模型:图 Q1:什么是数据结构? 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。 Q2:学习数据结构有什么用? 答:计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。 3. 研究涉及范围 在计算机科学中, 它是一门综合性的专业基础课。其研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等),而且与软件(编译程序、操作系统、应用软件等)有更密切的关系,因为软件设计要考虑到数据组织、存储器分配和数据元素的查询等。 1.2 数据结构基本概念 术语:数据、数据元素和数据项(见教材P4定义): 术语:数据、数据元素和数据项 Q1:什么是数据结构? 答: (见教材P5) 是相互之间存在一种或多种特定关系的数据元素的集合,表示为: 例1-4(p5):在计算机科学中,复数可取如下定义:复数是一种数据结构: Complex={C,R} 其中:C={c1,c2} R={P} P={c1,c2} 四种基本结构: 解释1: 什么叫数据的逻辑结构? 答:指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。 例:用图形表示下列数据结构。 (1) S=(D, R) D={ a, b, c, d, e, f } R={a,e, b,c, c,a, e,f, f,d} (2) S=(D, R) D={di | 1≤i≤5} R={di , dj , ij} d1 d5 d2 d4 d3 逻辑结构是数学上的抽象概念,而研究数据结构是为了进行程序设计,所以完整的数据结构定义还应该包括它在计算机中的表示或实现。 数据的逻辑结构在计算机中的表示就称为数据的物理结构。 解释2:什么叫数据的物理结构? 答:物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。 Q1 数据类型与抽象数据类型的区别? Q2 抽象数据类型如何定义? 解释3:什么是数据的运算? 答:在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。 例:给复数的抽象数据类型定义 1.3 抽象数据类型的表示与实现 抽象数据类型如何表示和实现? 抽象数据类型可以通过固有的数据类型(如整型、实型、字符型等)来表示和实现。 1.4 算法和算法分析 Q1. 什么是算法?如何评判一个算法的好坏? Q2. 时间复杂度和空间复杂度如何表示? Q3. 计算举例 答:算法是解决某一特定类型问题的有限运算序列。是一系列输入转换为输出的计算步骤。 Q1 数据类型与抽象数据类型的区别? Q2 抽象数据类型如何定义? 讨论: 提示:教材中例1-6和例1-7分别给出了抽象数据类型“三元组”的定义、表示和实现,请试阅读。 数据类型:是一个值的集合和定义在该值上
文档评论(0)