数据结构(C语言版)2011_2012学年度第1学期2.pptVIP

数据结构(C语言版)2011_2012学年度第1学期2.ppt

  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文档。上传文档
查看更多
数据结构(C语言版)2011_2012学年度第1学期2.ppt

本书目录 第1章: 基本概念 第6章: 图 第2章: 数组结构 第7章: 排序 第3章: 栈和队列 第8章: 散列 第4章: 线性表 第9章: 堆结构 第5章: 树 第10章:查找结构 uhiuku * 第1章 基本概念 本章主题:数据结构的基本概念和术语 教学重点:熟悉数据结构常用术语,掌握基本概念,了解算法 时间复杂度和空间复杂度的分析与评价 教学难点:算法性能分析 主要内容: 1.1 系统生命周期 1.2 算法描述 1.3 数据抽象 1.4 算法性能分析与评价 uhiuku * 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科.主要有三个方面的内容: 数据的逻辑结构、数据的存储结构和对数据的算法。 逻辑结构:数据间的逻辑关系,有集合、线性表、树、图等四种 结构。 物理结构:数据在计算机内部的存储安排,是数据结构在计算机 中的实现方法。主要有顺序、链接、散列、索引等四种基本存储结构,并可以根据需要组合成其它更复杂的结构。 算法:数据进行处理的方法。 教学引入:数据结构概念补充 uhiuku * 数据结构示例:在表中会按登录号形成一种次序关系,即整个二维表就是图书数据的一个线性序列。这种关系被称为线性结构。 返回 返回 uhiuku * 描述磁盘目录和文件结构时,假设每个磁盘包括一个根目录(root)和若干个一级子目录,每个一级子目录中又包含若干个二级子目录…. 这种关系很像自然界中的树,所以称为目录树。如左图所示。 【例1-2】磁盘目录结构和文件管理系统 在这种结构中,目录和目录以及目录和文件之间呈现出一对多的非线性关系。即根root有多个下属(也称为后代),每一后代又有属于自己的后代;而任一个子目录或文件都只有一个唯一的上级(也称为双亲)。称这种数学模型为树型数据结构。 uhiuku * 【例1-3】教学计划编排问题 一个教学计划中包含许多课程。在课程之间,有些必须按规定的先后次序排课,如:学C6课程必须先学C3课,学C3课程必须先学C1课。这些课程之间存在先修和后续的关系。在这种结构中,表示课程的数据之间呈现多对多的非线性关系,称这类数学模型为图形结构。 uhiuku * 四类数据基本结构的示意图: (a)集合结构 (b)线性结构 (c)树型结构 (d)图形结构 由以上例子可见,描述这类非数值计算问题的数学模型和方法不再是数学方程,而是诸如线性表、树和图之类的数据结构。 uhiuku * 基本概念和术语 1.1 综述:系统生命周期 准备知识:结构化程序设计 C语言考查 学习目的:掌握设计大规模复杂系统的工具技术-- 数据抽 象,算法描述、性能分析 需求:已知条件(输入、应该产生结果(输出) 分析:分解为子问题-自顶向上和自顶向下 设计:分析阶段的延续, 逐步求精和编码:数据对象的存储方法 验证:输入数据测试、排错 uhiuku * 1.2.1 算法(Algorithm) 1、算法:是一组完成特定任务的有穷指令序列。 2、特点: 1)输入:具有0个或多个由外界提供的量(输入)。 2)输出:产生1个或多个结果。 3)确定性:算法中的每条指令都必须是清楚的,指令无二义性。 4)动态有穷:当执行一个算法时,不论是何种情况,在经过了有限步 骤后,这个算法一定要终止。 5)可行性:每条指令都充分基本,即:序列中的每个操作都是可以简 单完成的,都可以通过已经实现的基本操作运算的有限次来实现。 1.2 算法描述 uhiuku * 1.2.2 算法描述 一个算法可用自然语言、数字语言或流程图等来描述,也可以用计算机高级程序语言来描述,如Pascal语言、C语言或伪代码等,本书选用C语言作为描述算法的工具。 1.用自然语言描述算法 优点:简单,便于人们对算法的阅读。 缺点:不够严谨。 2.用流程图描述算法 特点简洁、明了。目前在一些高级语言程序设计中仍然被采用。 3.用程序设计(C或C++)语言描述算法 不太容易且不直观,且需要借助于注释才能看明白。 为解决理解与执行的矛盾一般采用伪代码来描述算法。 uhiuku *

文档评论(0)

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

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

1亿VIP精品文档

相关文档