- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]chap01_数据结构与算法简介
数据结构与算法 ? 介绍 内容 为什么需要数据结构? 数据结构的哲学 数据结构的基本概念和术语 算法和程序 算法的效率评估 1.1 为什么需要数据结构? 更加强大的计算机引起更复杂更广泛的应用,复杂的应用往往需要更有效的数据处理 采用数据结构将数据组织起来可以使程序更有效率 数据组织 将数据记录组织起来,使其可以按照特定的顺序进行处理,查找或修改 程序选择不同的数据结构和算法,执行效率会存在差异 例1 学生表格 例2 课程表格 例3 例4 人机博弈? 例5 UNIX的文件系统 例6 叉路口 以下为五岔路口,其中C和E为单行道。有的可同时通行,如A-〉B和E-〉C;有的不能同时通行,如E-〉B和A-〉D。 例6 叉路口(cont) 例7通讯网络 选择数据结构 选择数据结构应注意以下方面: 分析问题确定解决问题所必需的资源; 确定必需的基本操作,确定每个操作所需的资源; ? 挑选满足条件的最佳数据结构; 1.2 数据结构的哲学 每种数据结构都有自己的开销和优点 极少有一个数据结构在各方面比其他的数据结构都强 选择数据结构的需要考虑: ? 存储每个数据单元的空间 执行每个操作的时间 编程实现 数据结构的哲学 每个问题对于时间和空间都有限制条件 只有详尽的分析了问题的特性后才能找到真正合适的数据结构 举例 银行 开账户:几分钟 转账:几秒钟 关闭账号:一整夜 课程目标 了解常见的数据结构的特点,包括开销和优点; 学会使用数据结构; 学会如何计算数据结构和算法的开销 ——这种技巧将有助于判断新型数据结构的优缺点 1.3 数据结构的基本概念和术语 数据 数据元素 数据对象 数据结构 逻辑结构和物理结构 数据类型 抽象数据类型 数据结构的基本概念和术语 数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。 数据元素就是数据的基本单位。在程序中通常把数据元素作为一个整体进行考虑和处理。 数据对象就是性质相同的数据元素的集合,例如整数数据对象是集合N={0,1,2,…},字母数据对象是集合C={‘A’, ‘B’, ‘C’,…, ‘Z’},这两个集合前者是无限的,后者是有限的,通常数据对象是数据的一个子集。 数据结构的基本概念和术语 数据结构是数据元素及其相互关系的集合,也就是说数据结构不仅要描述数据元素,还要描述数据元素间的相互关系。 数据结构的四类基本结构关系(1) 集合 结构中的数据除了同属于一个集合的关系外,别无其他关系; 数据结构的四类基本结构关系(2) 线性结构 结构中的元素之间存在一个对一个的关系,例如学生表格 数据结构的四类基本结构关系(3) 层次结构 ——树形结构 数据结构的四类基本结构关系(3) 数据结构的四类基本结构关系(4) 图状结构或网状结构 结构的元素间存在多对多的关系 例子 确切的说,数据结构是一个二元组D=(K,R),K是数据元素的集合,R是K上的关系的有限集合。K和R的有机结合就是数据结构。 复数就是一种数据结构 Complex=(C,R), C是两个实数的集合{c1, c2}; R={p}, p是定义在C上的一种序偶关系{c1, c2},在序偶中c1是实部,c2是虚部。 逻辑结构与存储结构 数据结构依据视点分为两种结构: 逻辑结构是指从解决问题的需要出发,为实现必要的功能所建立的数据结构,它属于用户的视图,是面向问题的,例如在招生系统中按考分排列的考生记录的有序表格。 存储结构是指数据应该如何在计算机中存放,是数据逻辑结构的物理存储方式,是属于具体实现的视图,是面向计算机的。 数据类型 数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。例如在高级程序设计语言中实现了的,或非高级语言直接支持的数据结构即为数据类型。在程序设计语言中,一个变量的数据类型不仅确定了这个变量的取值范围,而且还定义了这个变量可用的操作。 抽象数据类型ADT ADT就是由用户定义,用以表示应用问题的数据模型,由基本数据类型组成,包括相关的操作。 特征:使用和实现分离,实行封装和信息屏蔽。 优点:严格区分了抽象数据类型的两个不同视角。从使用者的角度,只要了解抽象数据类型的规格说明,就可以正确使用,不关心实现,使问题得到简化,从实现者角度,有利于调试修改,使错误局限化。提高了系统的稳定性 Example: ADT description of Natural Number ADT NaturalNumber is { Objects: An ordered subset of integer
文档评论(0)