- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学与计算机学院23非递归算法的效率分析
2009-2010-2算法设计与分析复习提纲 考试时间及地点 18周周5(2010-7-2)10:00-11:50 地点:6B-107?,隔位就座 请各位同学在答题卷左上角写上自己考试序号 例如:序号为9号的同学记为? 注意:学号应写全例如:200407020101 考试名单 考试名单 考试题型(A,B卷) 题型:全部大题 考试形式:闭卷,隔位就座,听从监考老师安排 分值分布: 第1章算法效率分析:20分 第2章:递归 20分 第3章蛮力法:10分 第4章分治法:10分 第5章减治法:10分 第6章变治法:10分 第8,9章动态规划法,贪婪法10分 第11章算法能力极限:10分 复习 注意:请重点依据PPT内容进行复习。 算法不能靠背,靠的是理解然后触类旁通。 复习 第一章: 算法的定义、算法与数据结构的区别 算法的特点 算法的几种详细描述方法:自然语言、结构化文字、流程图、伪代码 算法的最优、最差、平均效率 上界符号 O 、下届符号Ω、同阶符号Θ 渐进效率的基本类型 递归算法效率分析(解递归方程):前向替换法、反向替换法、公式法 算法效率分析框架 输入规模的度量: 运行时间的度量:用基本操作执行次数来作为时间效率的度量 增长次数(增长率):基本操作数(时间耗费)是输入规模 n 的函数,记为T(n) , T(n) 随着 n 次数的增加而增加。函数值T(n) 增加快慢,决定于这个增长函数特性; 算法的最优、最差、平均效率 2.3非递归算法的效率分析(很常用) 本节将系统地运用前节的通用框架来分析非递归算法的效率。先从一个 简单的算法开始,示范这类算法分析的步骤。 例1:从 n 个元素列表中查找最大值。(用数组简单实现列表) 算法 MaxElement ( A[0...n-1] ) // 求数组A中元素的最大值 // 输入:实数数组A。 输出:A中最大元素的值 maxval←A[0] for i←1 to n-1 do if A[i] maxval // 每次循环时无条件执行(必执行) maxval←A[i] // 每次循环时有条件执行(不一定执行) return maxval 效率分析框架要求明确输入规模和基本操作。 输入规模:数组元素的个数 n 。 基本操作:根据基本操作概念,它应该是算法中最费时的操作。因此, 应该选择 for 循环内的比较操作。 非递归算法分析2 接下来,效率分析框架要求我们找到基本操作与输入规模的函数关系, 即增长函数 T(n) 或者 C(n)。这里,C(n) 是比较运算的次数。不难看出, 本算法每循环一次,基本操作就要执行一次。因此有: 非递归算法效率分析的通用方案: 1 确定输入规模; 2 确定基本操作;(一般情况:它总是位于算法的最内层循环里) 3 考虑基本操作的执行次数是否仅仅与输入规模有关。若还与其他因数 有关(比如顺序查找算法中基本操作执行次数还与查找键在列表中的 位置有关),则按需要对效率种类(最差、最佳、平均效率)作出分析。 4 建立基本操作执行次数与输入规模 n 的求和表达式,即增长函数。 5 利用运算公式(法则),确定该增长函数的增长率。 例2:【 矩阵乘法 】时间效率分析 给定两个方阵 A 和 B,根据矩阵乘法定义计算它们之乘积。 算法:MatrixMultiplication (A[0...n-1][0...n-1], B[0...n-1][0...n-1]) for i←0 to n-1 do // 行循环 for j←0 to n-1 do // 列循环 M[ i ][ j ]←0.0 // 初始化 for k←0 to n-1 do // 用变量 k 表示变化的脚标 M[ i ][ j ]←M[ i ][ j ] + A[ i ][ k ] * B[ k ][ j ] return M 第 2 章 递 归 概述 递归程序的阅读理解 递归算法的设计实例 递归转非递归 本章习题 第二章 递 归例 N阶汉汉诺塔问题 递归调用树 递归算法 方程求解 复杂性分析 递归转化为非递归 斐波拉契问题 给出某一个递归算法 第三章 蛮力法 选择排序 能根据算法对任意给定的数组进行排序 写出伪代码,并分析算法效率 冒泡排序 能根据算法对任意给定的数组进行排序 写出伪代
您可能关注的文档
最近下载
- 2024天津市津南区事业单位考试笔试题库及答案.docx VIP
- [2025秋期版]国开电大专科《人力资源管理》一平台形考任务一至四在线形考试题及答案 (2).pdf
- 2025年新版人教版四年级上册英语 四上Unit 2 My friends单元整体教学设计(1).pdf VIP
- 数字媒体技术专业申报材料.doc VIP
- 2025上海市农业科学院工作人员招聘(2025年第二批)笔试备考题库及答案解析.docx VIP
- 2024年浙江省杭州市中考数学试题卷(含答案详解).docx
- 老年人日常生活护理案例及分析.docx VIP
- 2025天津市津南区法院系统招聘考试真题.docx VIP
- 2025上海市农业科学院工作人员招聘(2025年第二批)笔试参考题库附答案解析.docx VIP
- 国有大型煤炭企业如何科学编制“十五五”发展规划.docx
文档评论(0)