数据结构第yi篇.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文档。上传文档
查看更多
数据结构是计算机及其相关专业的重要课程 计算机发展初期:处理数值计算问题 ——不重视数据结构 20世纪60~80年代:非数值处理问题 ——沃思:算法 + 数据结构 = 程序 20世纪80年代至今:面向对象(OO)技术出现 ——数据结构与面向对象具有天然的对应 前言——计算机系列课程之间的联系 数据结构课程的地位 是介于数学、计算机硬件和计算机软件三者之间的一门核心课程 第1章 绪论 1.1 数据结构基本概念 1.2 抽象数据类型概念 1.3 算法效率的度量 1.1 数据结构基本概念 Q1 什么是数据结构? Q2 学习数据结构有什么用? Q3 数据结构涵盖的主要内容? Q1:什么是数据结构? 答: (见教材P5) 是相互之间存在一种或多种特定关系的数据元素的集合,表示为: 专业术语:数据、数据元素和数据项 (见教材P4定义): 数据(data)——所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 信息的载体 分为两类:数值型数据、非数值型数据 数据元素(data element)——是数据的基本单位,具有完整确定的实际意义(又称元素、结点,顶点、记录等)。 数据项(Data item)——构成数据元素的项目。是具有独立含义的最小标识单位(又称字段、域、属性 等)。 Q2:学习数据结构有什么用? 答:计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。 这是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。 Q3:数据结构涵盖的内容? 解释1: 什么叫数据的逻辑结构? 答:指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。逻辑结构可细分为4类: 例:用图形表示下列数据结构,并指出它 们是属于线性结构还是非线性结构。 (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:什么叫数据的物理结构? 答:物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。 解释3:什么是数据的运算? 答:在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。 1.2 抽象数据类型概念 Q1 数据类型与抽象数据类型的区别? Q2 抽象数据类型如何定义? 例:给出自然数(Natural Number )的抽象数据类型定义。 Q3 抽象数据类型如何表示和实现? 抽象数据类型可以通过固有的数据类型(如整型、实型、字符型等)来表示和实现。 1.3 算法效率的度量 Q1. 什么是算法?如何评判一个算法的好坏? Q2. 时间复杂度和空间复杂度如何表示? Q3. 计算举例 程序设计实质=好算法+好结构 答:算法是解决某一特定类型问题的有限运算序列。是一系列输入转换为输出的计算步骤。 时间复杂度T(n)按数量级递增顺序为: 渐进符号(O)的定义:当且仅当存在一个正的常数 C,使得对所有的 n ? n0 ,有 f(n) ? Cg(n),则 f(n) = O(g(n)) 3n+2=O(n) /* 3n+2?4n for n?2 */ 3n+3=O(n) /* 3n+3?4n for n?3 */ 100n+6=O(n) /* 100n+6?101n for n?10 */ 10n2+4n+2=O(n2) /* 10n2+4n+2?11n2 for n?5 */ 6*2n+n2=O(2n) /* 6*2n+n2 ?7*2n for n?4 */ 例:分析以下程序段的时间复杂度。 i=1; ① while(i=n) i=i*2; ② * 数据结构与算法 Data Structure Algorithms   烟台南山学院信息科技学院

文档评论(0)

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

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

1亿VIP精品文档

相关文档