




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法的基本思想 如果数组中只有一个元素 则该元素即是数组中最大的元素 否则将数组对分为前半部分和后半部分 用同样的方法求数组前半部分的最大值max1 用同样的方法求数组后半部分的最大值max2 若max1 max2 则max1为数组中的最大值 否则max2为数组中的最大值 具体执行过程 求最大值 intMAXA A i j inti j max 0 max1 0 max2 0 intA if i j max A i else 求数组前半部分的最大值max1 max1 MAXA A i i j 2 求数组后半部分的最大值max2max2 MAXA A i j 2 1 j if max1 max2 max max1 elsemax max2 returnmax 课后练习 练习2 分析如下时间函数的复杂度 并说明原因 1 利用递归树说明以下时间函数的复杂度 2 利用主定理说明以下时间函数的复杂度 T n 16T n 4 nT n T 3n 7 1T n 3T n 4 nlogn 练习2 分析如下时间函数的复杂度 并说明原因 1 利用递归树说明以下时间函数的复杂度 递归树的高度为 log4n 1 除去叶子结点 树有log4n层 每层结点总数为 最后一层叶子结点数 2 利用主定理说明以下时间函数的复杂度 T n 16T n 4 nT n T 3n 7 1T n 3T n 4 nlogn 定理 主定理 a 1且b 1是常数 f n 是一个函数 T n 由如下的递推式定义 T n aT n b f n 式中 n b指 n b 或 n b 则T n 有如下的渐近界 1 若对于某常数 0 有f n O nlogba 则T n nlogba 2 若f n nlogba 则T n nlogbalogn 3 若对于某常数 0 有f n nlogba 且对于某个常数c 1和所有足够大的n 有af n b cf n 则T n f n 练习3 分析Strassen矩阵乘法在时间效率上有何改进 为什么 Strassen矩阵乘积分治算法中 用了7次对于n 2阶矩阵乘积的递归调用和18次n 2阶矩阵的加减运算 由此可知 该算法的所需的计算时间T n 满足如下的递归方程 T n O nlog7 O n2 81 较大的改进 课后练习 练习4 划出下列序列在快速排序过程中一次划分的具体步骤 21254925 1608 一次划分的过程 21 08 25 49 25 16 初始关键字 08 25 49 25 16 08 25 49 25 16 08 25 49 25 16 21 21 21 08 25 49 25 16 21 08 25 49 25 16 21 pivotkey 一次交换 二次交换 三次交换 四次交换 完成一趟排序 low high low high high low 课后练习 练习5 算法实现题2 8 教材第42页 集合划分问题 要求 设计算法 写出该算法时间函数T n 的递推关系式 分析其时间复杂度和空间复杂度 关于集合划分问题的分析 例如 集合 1 2 3 有五个划分 1 2 3 1 2 3 1 3 2 1 2 3 1 2 3 算法设计要求 给定正整数n和m 计算出n个元素的集合 1 2 n 可以划分为多少个不同的由m个非空子集组成的集合 数据输入 由文件input txt提供输入数据 文件的第1行是元素个数n和非空子集数m 结果输出 程序运行结束时 将计算出的不同的由m个非空子集组成的集合数输出到文件output txt中 递归公式 设n个元素的集合可以划分为F n m 个不同的由m个非空子集组成的集合 F n m 1 whenn 0 n m n 1 orm 1F n m 0 whenn m否则F n m F n 1 m 1 m F n 1 m 考虑3个元素的集合 可划分为 1个子集的集合 1 2 3 2个子集的集合 1 2 3 1 3 2 2 3 1 3个子集的集合 1 2 3 F 3 1 1 F 3 2 3 F 3 3 1 如果要求F 4 2 该怎么办呢 A 往 里添一个元素 4 得到 1 2 3 4 B 往 里的任意一个子集添一个4 得到 1 2 4 3 1 2 3 4 1 3 4 2 1 3 2 4 2 3 4 1 2 3 1 4 F 4 2 F 3 1 2 F 3 2 1 2 3 7 课后练习 选做 练习6 假设有n个项的数组A 每个项具有一个不同的数 告诉你值A 1 A 2 A n 的序列是单峰的 对于某个在1与n之间的下标p 数组项的值增加到A中的位置p 然后剩下的过程减少直到位置n 要求 利用分治策略设计一个算法 读尽可能少的元素 找到这个 顶峰 元素p 分析该算法的时间复杂性 问题分析 何为 单峰 对于某个在1与n之间的下标p 数组项的值增加到A中的位置p 然后剩下的过程减少直到位置n 即在A 1 到A n 的n个数中 只有一个极大值A p A p 前的元素均小于A p 并按升序排列 A p 后的元素均小于A p 并按降序排列 分治法思想 查看A n 2 值 分析其是出现在上坡上 A n 2 在A p 之前 还是下坡上 A n 2 在A p 之后 如果A n 2 1 A n 2 A n 2 1 那么n 2项一定严格位于p的前面 因此可以在n 2 1项到n项之间递归地继续下去 如果A n 2 1 A n 2 A n 2 1 那么n 2项一定严格位于p的后面 因此可以在1项到n 2 1项之间递归地继续下去 如果A n 2 比A n 2 1 和A n 2 1 都大 顶峰项实际上就等于A n 2 具体算法 伪代码 intDanfeng intA intm intn 求单峰数组中的顶峰值intk m n 2 if k m 时间复杂性分析 该算法的时间函数的递推式为 该算法的时间复杂度为 O log2n 课后练习 选做 练习7 假设你正在为一个小的投资公司咨询 他们有下面类型的问题想要一次又一次的求解 这个问题的一个典型实例如下所述 他们正在做一项模拟 在这项模拟中他们从过去的某点开始对一只给定的股票连续看n天 让我们把这些天记为数i 1 2 n 对每天i 他们有当天这只股票每股的价格p i 简单起见 假设这个价格在一天之内是固定的 假设在这个时间区间内 某天他们想买1000股并且在以后的某天卖出所有这些股 他们想知道 为了挣到最多的钱 他们应该什么时候买并且什么时候应该卖 问题分析 举例说明 利用分治策略设计一个算法 举例 假设n 3 p 1 9 p 2 1 p 3 5 那么应该得出 2买 3卖 的结论 即 在第2天买并且在第3天卖意味着每股将挣4美元 是这个期间最大的收益 问题分析 存在一个简单的算法 时间复杂度是O n2 对所有的买天 卖天构成的对进行尝试 看看哪个对能使用户挣到最多的钱 假设在第i天买 第j天卖可以获得最大收益 最优解 怎样在O nlog2n 时间找到正确的i和j 一共有n天的数据 即p 1 p 2 p i p i 1 p n 1 p n 设S是1天 n 2天的集合 S 是n 2 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东广州翰城房地产开发有限公司招聘工作人员、进入人员模拟试卷及答案详解(名师系列)
- 2025年五常市公安局公开招聘警务辅助人员97人模拟试卷有完整答案详解
- 2025甘肃兰州市城关区司法局招聘司法协理员25人考前自测高频考点模拟试题附答案详解
- 2025湖南湘潭市韶山学校招聘教师15人模拟试卷附答案详解(典型题)
- 2025年长春理工大学公开招聘博士人才(71人)模拟试卷参考答案详解
- 2025广西防城港市中小学教师公开招聘501人模拟试卷及答案详解1套
- 幼儿园篮球普及课合作协议7篇
- 2025广东东莞麻涌镇人力资源服务有限公司招聘7人模拟试卷及答案详解(新)
- 2025湖北省三支一扶招募高校毕业生2000人考前自测高频考点模拟试题(含答案详解)
- 2025北京海淀区人大附中西山学校教师招聘考前自测高频考点模拟试题及参考答案详解1套
- 中考语文名著总复习-三年中考真题《红星照耀中国》(教师版)
- 《张仲景活血通络法研究》
- 工程造价预算及成本控制手册
- 超星尔雅学习通《当代大学生国家安全教育》章节测试答案
- DL∕T 5285-2018 输变电工程架空导线(800mm以下)及地线液压压接工艺规程
- NB/T 11431-2023土地整治煤矸石回填技术规范
- 房建类工程施工方案
- 国家开放大学《病理学与病理生理学》形考任务1-4参考答案
- 中国腹腔镜胃癌根治手术质量控制专家共识
- 离散数学概论第2版田秋红习题答案
- 2024年辽宁省成考(专升本)大学政治考试真题含解析
评论
0/150
提交评论