算法和数据结构 - 电子信息学院.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文档。上传文档
查看更多
算法和数据结构 - 电子信息学院

第一章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 ?例1: 书目自动检索系统 ?例2: 电话号码查询问题: 问题分析: (1)按顺序存储方式:须遍历表 (2)按姓氏索引方式:索引 解决关键: (1)要写出好的查找算法,取决于这张表的结构及存储方式。 (2)电话号码表的结构和存储方式决定了查找(算法)的效率。 ?例3: 人机对奕问题 问题描述: 有六项不同的比赛,有的选手要参加几项比赛,因此要求这些项目的比赛时间不能重叠。 解决方法: (1)设用如下六个不同的代号代表不同的项目: 跳高 跳远 标枪 铅球 100米 200米 A B C D E F (2)用顶点代表比赛项目 不能同时进行比赛的项目之间连上一条边。 (3)某选手比赛的项目必定有边相连(不能同时比赛). ?例5: 多叉路口交通灯管理问题 问题描述: 为了设计一个交通信号灯的管理系统,首先需要分析一下所有车辆的行驶路线的冲突问题。这个问题可以归结为对车辆的可能行驶方向作某种分组,对分组的要求是使任一个组中各个方向行驶的车辆可以同时安全行驶而不发生碰撞。 求解非数值计算的问题: 主要考虑的是设计出合适的数据结构及相应的算法。 即:首先要考虑对相关的各种信息如何表示、组织和存储? 因此,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。 总结:计算机解决问题的步骤: 问题分析:这阶段的任务是弄清所要解的问题是什么; 并且把它用一种语言(自然语言、说明语言或数 学语言)清楚地描述出来。 算法设计:这阶段的任务是建立程序系统的结构,重点 是算法的设计和数据结构的设计。对于大型的复 杂的程序系统,这一阶段往往还包括模块的设计。 程序设计:采用适当的程序设计语言,编写出可执行的 程序。 程序测试和维护:发现和排除在前几个阶段中产生的错 误,经测试通过的程序便可投入运行,在运行过 程中还可能发现隐含的错误和问题,因此还必须 在使用中不断维护和完善。 Q:学习数据结构有什么用? A:计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。 1.2 基本概念和术语 数据(Data) 是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。 数值性数据(整数、定点数、浮点数) 非数值性数据(文字数据) 数据项(Data Item) ? 数据对象 (Data Object) 具有相同性质的数据元素的集合。 整数数据对象 N = { 0, ?1, ?2, … } 字母字符数据对象 C={ ‘A’, ‘B’, ‘C’, … ‘F’ } 数据结构(Data Structure) 是相互之间存在的一种或多种特定关系的数据元素的集合。 数据?具有相同属性的数据元素的集合; 结构?数据元素间存在的一种或多种关系。形式化定义:记为二元组 Data_Structure = (D,R) 其中,D是数据元素的有限集合,R是D上关系的集合 四种基本数据结构 集合 线性结构 树形结构 网状结构 数据的逻辑结构 从逻辑关系上描述数据,与数据的存储无关; 从具体问题抽象出来的数据模型; 与数据元素本身的形式、内容无关; 与数据元素的相对位置无关。 结论:只抽象反映数据元素的逻辑关系 (3)堆结构 数据的存储结构(物理结构) 数据结构在计算机中的表示。 数据的存储结构依赖于计算机语言。 顺序存储表示(**本课重点) 链接存储表示(**本课重点) 索引存储表示 散列存储表示 结论:数据的逻辑结构在计算机存储器中的实现 顺序存储结构——借助元素在存储器中的相对位置来表 示数据元素间的逻辑关系 链式存储结构——借助指示元素存储地址的指针表示数据元素间的逻辑关系 Q: 重点剖析逻辑结构,物理结构和运算的关系 例:用图形表示下列数据结构,并指出它们是属于线性结构还是非线性结构。 (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

文档评论(0)

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

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

1亿VIP精品文档

相关文档