- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与算法分析A Practical Introduction toData Structures and Algorithm Analysis陈 星 第1章 数据结构和算法-课程学习目的 介绍常用的数据结构,为高效数据处理提供工具。 增强“权衡”(Tradeoff)概念,讨论每类数据结构的代价和效益。 数据结构或算法有效性的评估方法。 最终目的: 有效地组织数据,获得高效的数据处理。 第1章 数据结构和算法1.1.1 学习数据结构的必要性 数据结构:一类数据的表示及相关操作。 用数据结构组织数据 ? 更有效的算法. 更强大的计算机 ? 更复杂的应用. 更复杂的应用 ? 更多和更复杂的计算. 复杂的计算 ? 算法偏离日常生活经验更远 不同的数据结构 ? 不同的计算效率 算法的效率 一种算法能在所要求的资源限制(Resource constraint)内将问题解决好,则称算法是有效率的. 空间(内存空间限制或外存空间限制) 时间 算法的代价是指算法消耗的资源量。 选择数据结构的步骤 选择数据结构的步骤: 分析问题,以确定任何算法均会遇到的资源限制。 确定必须支持的基本操作,并度量每种操作所受到的资源限制。 选择最接近这些开销的数据结构。 1.1.2 代价与效益 每一种数据结构都有代价和效益。 几乎没有一种数据结构在任何情况下 都比其它数据结构好。 每一种数据结构都需要: - 数据存储空间 - 基本操作计算时间 - 编写程序代码 1.2 抽象数据类型和数据结构 类型(Type):一组值的集合。 数据类型(Data Type):一种类型和定义在该类型上的一组操作。 抽象数据类型(Abstract Data Type,ADT): 数据结构作为一个软件组件的实现. - 每一个ADT操作由它的输入和输出定义. - 封装(Encapsulation):隐藏数据类型的实现细节. ADT的封装举例:汽车 采用ADT的目的:将复杂问题抽象化,从而重视主要问题而忽略不必要的细节。 数据结构 数据结构是ADT的实现。 数据结构通常指存储在计算机内存中的数据。 文件结构指外存储器中数据的组织。 数据项有逻辑形式和物理形式两个方面。 由ADT给出的数据项的定义是它的逻辑形式。 例:数学意义上的整数。 数据结构中对数据项的实现是它的物理形式。 例:16位(32位)整数。 数据类型 ADT: 类型 操作 数据项: 逻辑形式 数据项: 物理形式 数据结构: 存储空间 子程序 1.3 问题、算法和程序 问题:需要完成的任务 一组输入就有一组相应的输出。 问题的定义应该包含对任何可行方案所需资源的 限制。 问题 ? 数学函数 算法:解决问题的一种方法或者一个过程。 问题看作函数,算法就是将输入转换为输出。 一个问题可以用多种算法来解决。 算法的性质: 正确性、具体步骤、确定性、有限性、可终止性。 程序:使用某种程序设计语言对一种算法的具体实现 * *
原创力文档


文档评论(0)