数据结构与算法设计d01 2019 2 课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADT Terms_Sorted 应用 第 31 页 问题:假设已经用 Create 和多个 Add 构建了一个 关键 词典 Terms ,如何利用 ADT 查询同时包含“ 辽宁 ” + “ 航母 ”的所有文档信息? Docs docs1, docs2; if (query(terms, “ 辽宁 ”, docs1)){ if (query(terms,“ 航母 ”, docs2)){ Docs docs = Docs.intersect(docs1, docs2) // 对 docs1 和 docs2 求交集 … } } ADT 执行效率的比较 第 32 页 ADT Terms_Collection ADT Terms_Sorted add 需要 遍历 关键词典 按照顺序访问, 不 需要遍历 所有已存 在的关键词, 但是 在插入的时候,需 要保持关键词的顺 序 query 若不存在,需要遍历所有的 关键词 按照顺序访问,不 管是否存在,不需 要遍历 第 33 页 第 1 章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型 1.4 算法和算法分析 第 34 页 1.4 算法与算法分析 算法是为了解决某类问题而规定的一个 有限长 的操 作序列。 一个算法必须满足以下 五个重要特性 : 有穷性、确 定性、可行性、有输入 和 有输出。 ◆ 有穷性:算法必须在有限步内结束 , 每个步骤都能在有限时 间内完成。 ◆ 确定性:算法的操作清晰无二义性 , 任何条件下, 只有一 条执行路径 ◆ 可行性:算法的操作必须能够在已实现的基本运算基础上 实现。 ? 有输入:有 0 个或多个输入。 ◆ 有输出:有 1 个或多个输出。 1.4 算法设计的原则 ? 评价一个好的算法有以下几个标准 : 1. 正确性 (Correctness ) :算法应满足具体问题的 需求。 2. 可读性 (Readability) :算法应该好读。以有利于 阅读者对程序的理解。 3. 健状性 (Robustness) :算法应具有容错处理。 当输入非法数据时,算法应对其作出反应,而不 是产生莫名其妙的输出结果,甚至崩溃 4. 效率与存储量需求 :效率指的是算法执行的时间 ;存储量需求指算法执行过程中所需要的最大存 储空间。一般,这两者与问题的规模有关 第 36 页 1.4 算法与算法分析 ? 评价算法的标准 正确性,可读性,可维护性,健壮性,效率。 ? 算法效率的度量 ◆ 程序所用算法运行时所要花费的时间代价 ◆ 程序中使用的数据结构占有的空间代价 算法的 时间复杂度 :算法的时间效率 算法的 空间复杂度 :算法的空间效率 第 37 页 1.4 算法与算法分析 ? 评价算法效率的方法 ◆ 事后统计法 ? 通过上机运行,测试算法花费的时间。 算法的平均执行时间,算法的最大执行 时间。 缺点: 1) 必须编写、执行程序 2 )其它因素掩盖算法本质 ◆ 事前分析估算法 1.4 算法效率的衡量方法和准则 ? 事前分析估算法 对算法所需要的计算机资源 —— 时间 和 空间 进行估算 ? 和算法执行时间相关的因素: ◆ 1 .计算机执行指令的速度 ◆ 2 .编译程序产生的机器代码的质量 ◆ 3 .编写程序的语言 ◆ 4 .问题的规模 ◆ 5 .算法选用的策略 ? 一个特定算法的“ 运行工作量 ”的大小,只依赖于 问 题的规模 (通常用整数量 n 表示),即它是问题规模的 函数。 1.4 算法与算法分析 如何估计时间复杂度? ? 算法 = 控制结构 + 原操作 (固有数据类 型的操作) ? 算法的执行时间 = ∑ 原操作 i 的 执行次数 × 原操作 i 的 执行时 间 ? 算法的执行时间 与 原操作执行次数之和 成正比 ? 很显然, 原操作 的 执行次数 取决于 问题 规模 第 40 页 1.4 算法与算法分析 ? 算法分析 ◆ 由于算法的复杂性与其所求解的问题规模 直接有关,因此通常将 问题规模 n 作为一 个参照量,求算法的时空开销 (分别设为 T

文档评论(0)

wangsux + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档