- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ECNU Yinping Liu 例1. 找出伪币 16个硬币,其中1个是伪造的,且伪造硬币相对轻一些; 有一台比较两组硬币重量的仪器; 找出伪造硬币。 两两比较 分而治之:将大问题分解为小问题,分而治之 ECNU Yinping Liu 例2. 金块问题 有一袋金块,金块有轻有重; 有一台比较重量的仪器; 找出最轻和最重的金块。 传统:通过n-1次比较得到最重金块,再通过n-2次比较得到最轻的金块 分而治之:将金块分成两个袋子,分别找出两个袋子中的最轻和最重的金块,比较可得结果。可递归使用分而治之算法 (即,二分查找) ECNU Yinping Liu 例3:大整数的乘法 请设计一个有效的算法,可以进行两个n位大整数的乘法运算 小学的方法:O(n2)效率太低 分治法: a b c d X= Y= X = a 10n/2 + b // b是n/2 位十进制数 Y = c 10n/2 + d // d是n/2 位位十进制数 XY = ac 10n + (ad+bc)10n/2 + bd //4个乘法 ECNU Yinping Liu 复杂度分析 T(n)=O(n2) ?没有改进? ECNU Yinping Liu 大整数的乘法 请设计一个有效的算法,可以进行两个n位大整数的乘法运算 小学的方法:O(n2)效率太低 分治法: XY = ac10n + (ad+bc)10n/2 + bd为了降低时间复杂度,必须减少乘法的次数。 XY = ac10n + ((a-b)(d-c)+ac+bd)10n/2 + bd XY = ac10n + ((a+b)(c+d)-ac-bd)10n/2 + bd 算式中存在三个乘法 ac, bd和(a-b)(d-c) 或者ac, bd 和 (a-b)(d-c)。 ECNU Yinping Liu 复杂度分析 T(n)=O(nlog3) =O(n1.59)?较大的改进? 细节问题:两个XY的复杂度都是O(nlog3),但考虑到a+c,b+d可能得到m+1位的结果,使问题的规模变大,故不选择第2种方案。 ECNU Yinping Liu 第四章 动 态 规 划 ECNU Yinping Liu 动态规划算法 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题。 经分解得到的子问题往往不是互相独立的。在用分治法求解时,有些子问题被重复计算了许多次。 如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免大量重复计算。 动态规划方法采用最优原则来建立用于计算最优解的递归式。 不管前面的决策如何,此后的决策必须是基于当前状态的最优决策。 有些问题的某些递归式若不能保持最优原则,不可使用动态规划方法。 ECNU Yinping Liu 动态规划基本步骤 找出最优解的性质,并刻划其结构特征。 递归地定义最优值。 以自底向上的方式计算出最优值。 根据计算最优值时得到的信息,构造最优解。 ECNU Yinping Liu 应用一:0-1背包问题 设m(i, j)是背包容量为j,可选择物品为i,i+1,…,n时0-1背包问题的最优解的值。由0-1背包问题的最优子结构性质,可以建立计算m(i,j)的递归式如下: ECNU Yinping Liu 应用一:0-1背包问题背包问题的递归函数 Int M(int i, int j) {//返回m(i,j)if(i==n)return (j w(n))? 0 : v[n];if(j w[i]) return M(i+1,j);// w[i]是物品 i 的体积return max(M(i+1,j), M(i+1,j-w[i])+v[i]); // v[i]是物品 i 的价值 } ECNU Yinping Liu 非递归算法 当 wi(1?i?n) 为正整数时,用二维数组 m[ ][ ] 存储 m[i][j]的相应值,可设计解0-1 背包问题的动态规划算法 knapsack 如下: void knapsack(int v[ ], int w[ ], int c, int m[ ][ ]) { int n=v.length-1; int jMax=min(w[n]-1,c); //进行(1)式赋值 for( int j=0; j=jMax; j++)m[n][j]=0;//当0=jw[n] for( int j=w[n]; j=c; j++) // j为背包容量m[n][j]=v[n];//当w[n] = j,m(n,j)赋值 ECNU Yinping Liu //进行(2)式赋值 for( int i=n-1;
您可能关注的文档
- j2ee36304.ppt
- 科技英语写作中的典型错误2.ppt
- 前言84620.ppt
- 市场调查与预测22340.ppt
- 第一章工程传热学07700.ppt
- 微机原理0819876.ppt
- 远离肥胖的困扰--.ppt
- 打造自己的品牌.ppt
- 摄影基础(01简介入门CC)18927.ppt
- 实验一 光学显微镜使用及显微摄影技术00178.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf
- 造血干细胞移植的护理干预.pptx
- 布料车岗位安全规程.pptx
- YDT 5178-2017 通信管道人孔和手孔图集.docx VIP
- 精品解析:【区级联考】上海徐汇区2019届九年级学习能力诊断(二模)数学试题(解析版).pdf VIP
- 精品解析:广东省佛山市南海区,三水区2022-2023学年九年级上学期数学期末考试(原卷版).pdf VIP
- 一种护筒导向架结构.pdf VIP
- 老旧小区雨污分流改造要点与难点分析.docx VIP
- 鞍钢宪法及后福特主义.pdf
- 精品解析:广东省广州市2022-2023学年九年级上学期期末数学考前模拟试题(三)(解析版).pdf VIP
文档评论(0)