- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第八章缩小规模策略小规模问题的解经过某种组合可以较容易地得到原问题的解。解决这类问题的求解方法有:分治与递归、动态规划和贪心算法,这章将介绍分治与递归。分治与递归策略递归的典型应用分治策略的应用
缩小规模策略将一个难以直接解决的大问题,分解成多个规模较小的子问题,以便各个击破、分而治之。分治法:如果原问题可以分割为k个子问题,1<k≤n,且这k个子问题都可解,并可利用子问题的解计算出原问题的解,则可以采用分治法。递归:分治法产生的子问题往往是原问题的较小模式,常使用递归技术。
一个直接或间接调用自身的算法称为递归算法。递归策略定义特点需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。用有限的语句来定义对象的无限集合。使用条件①原问题可以通过转化为较小的子问题来解决,而子问题的求解方法与原问题相同,被处理的数据有规律地减少。②当子问题减小至一定程度时,调用自身算法的过程终止。递归需要有边界条件、递归推进部分和递归返回
递归策略整数划分问题将一个正整数n表示为一系列正整数之和:n?=?n1?+?n2?+?…?+?nk,其中,n1≥n2≥…≥nk≥1,k≥1。该表示称为n的一个划分;不同划分的个数称为划分数,记为p(n)。【例1】整数6的11种划分。6;5?+?1;4?+?2,4?+?1?+?1;3?+?3,3?+?2?+?1,3?+?1?+?1?+?1;2?+?2?+?2,2?+?2?+?1?+?1,2?+?1?+?1?+?1?+?1;1?+?1?+?1?+?1?+?1?+?1;
递归策略分析在正整数n的所有不同划分中,将最大加数n1不大于m的划分个数记为q(n,m),则可以建立如下的递归关系:(1)q(n,1)=1,n≥1当最大加数n1不大于1时,只有一种划分形式:n=1+1+…+1(2)q(n,m)=q(n,n),m≥n最大加数n1不能大于n,因此q(1,m)=1(3)q(n,n)=1+q(n,n-1)正整数n的划分,由n1=?n的划分和n1≤n-1的划分组成(4)q(n,m)=q(n,m?-?1)+q(n?-?m,m),n>m1正整数n的最大加数n1不大于m的划分,由n1=m的划分和n1≤m-1的划分组成
递归策略计算q(n,m)的递归计算式
分治策略基本思想将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归求解这些子问题,并将子问题的解合并,则得到原问题解。分治法求解问题的特征(1)问题的规模缩小到一定的程度就可容易解决(2)问题可分解为若干个规模较小的相同问题(3)利用原问题分解出的子问题的解可合并为原问题的解(4)问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题
分治策略分治法的一般步骤分解将要解决的问题划分成若干规模较小的同类问题求解当子问题划分得足够小时,用较简单的方法解决合并按原问题要求,将子问题的解逐层合并构成原问题解DataTypeDivide-and-Conquer(P){if(|P|=n0) Adhoc(P);dividePintosmallersubinstances;P1,P2,…,Pk;for(i=1;i=k;i++) y[i]=Divide-and-Conquer(Pi);returnMerge(y1,y2,…,yk);}分治算法设计模式
递归算法的典型应用数据的定义按递归定义,如斐波那契(Fibonacci)数列的求解问题解法按递归算法实现,如二叉树、广义表等数据的结构形式是按递归定义的,如Hanoi问题递归算法常用于解决下述问题:
递归算法的典型应用Hanoi塔问题问题描述借助B杆,将A杆的金片全部移到C杆,并仍保持原有顺序,要求在移动过程中不能大片压小片。
递归算法的典型应用过程分解(1)以C杆为中介,将前n-1个金片从A杆挪到B杆(2)将A杆上仅剩的第n个金片移动到B杆(3)以A杆为中介,将C杆上的n-1个金片移到B杆
递归算法的典型应用递归函数//将from杆上的n-1块金片以tmp为中移至to杆voidHanoi(intn,charfrom,chartmp,charto){if(n0){hanoi(n-1,from,to,tmp); //将from杆上的n-1块金片移至tmp杆printf(take%d块金片from%cto%c\n,n,from,t
您可能关注的文档
- 《数字电子技术》课件6.4.1-6.4.2由门电路和石英晶体构成多谐振荡器.ppt
- 《数字电子技术》课件6.4.3由555定时器构成多谐振荡器.ppt
- 《数字电子技术》课件6.5.2由555定时器构成单稳态触发器.ppt
- 《数字电子技术》课件6.5.3和6.5.4集成单稳态触发器及应用.ppt
- 《数字电子技术基础》课件第9章ADC、DAC.ppt
- 《软件体系结构实用教程》课件第9章 特定领域的软件体系结构.ppt
- 《通信与物联网专业概论》课件第6章 物联网体系架构.pptx
- 《数字电子技术基础》课件第1章数字与编码.ppt
- 《通信与物联网专业概论》课件第4章 信息传输与接入系统.pptx
- 《人工智能及其应用》课件第9章 智能体及分布智能.pptx
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 肝囊肿开窗引流术后护理查房.pptx
- 芯源微 -国内涂胶显影设备龙头, 国内涂胶显影设备龙头, 国内涂胶显影设备龙头, 布局化学清洗和 布局化学清洗和先进封装 先进封装 20240625 -西部证券.docx
- 2023-2024年EMS审核知识统考试题及答案汇总.pdf VIP
- 一种标示牌粘贴工具.pdf VIP
- DBJ50_T-157-2022 房屋建筑和市政基础设施工程施工现场从业人员配备标准.docx
- 云南省保山市隆阳区金厂河铜锌铁多金属矿矿床水文地质特征.doc VIP
- 电化学阻抗谱(EIS)原理及谱图分析.pptx
- 中班-科学-前进!磁力车(磁铁同极相斥、异极相吸)-课件(互动版).pptx
- 柳永《八声甘州》优质课件.ppt
- 道德与法治五年级上册第四单元传统美德 源远流长 教学设计.pdf
文档评论(0)