- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章-分治法2.ppt
第四章 分 治 法 1 2 3 4 分治法的设计思想 排序问题中的分治法 组合问题中的蛮力法 5 几何问题中的蛮力法 小结 1 分治法的设计思想 凡治众如治寡,分数是也;斗众如斗寡,形名是也。 /movie/2010/12/8/U/M6UTT5U0I_M6V2T998U.html 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 1 分治法的设计思想 1 分治法的设计思想 (1)划分:既然是分治,当然需要把规模为n的原问题划分为k个规模较小的子问题,并尽量使这k个子问题的规模大致相同。 (2)求解子问题:各子问题的解法与原问题的解法通常是相同的,可以用递归的方法求解各个子问题,有时递归处理也可以用循环来实现。 (3)合并:把各个子问题的解合并起来,合并的代价因情况不同有很大差异,分治算法的有效性很大程度上依赖于合并的实现。 分治法的求解步骤 人们从大量实践中发现,在用分治法设计算法时,最好使子问题的规模大致相同。即将一个问题分成大小相等的 k 个子问题的处理方法是行之有效的。 这种使子问题规模大致相等的做法是出自一种平衡子问题的思想,它几乎总是比子问题规模不等的做法要好。 分治法的求解步骤 分治法的求解步骤 DivideConquer(P) { if (P的规模足够小) 直接求解P; else 分解为k个子问题P1, P2, …, Pk; for (i=1; i=k; i++) yi=DivideConquer(Pi); return Merge(y1, …, yk); } 分治法的时间复杂度 子问题的输入规模大致相等且一分为二,则分治法的计算时间可表示为: g(n) n足够小 T(n)= 2T(n/2)+f(n) 说明:T(n)式输入规模为 n 的分治法的计算时间; g(n)是对足够小的 n 直接求解的时间; f(n)是Merge的计算时间。 1. 问题的规模缩小到一定的程度就可以容易地解决; 2. 问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质; 3. 问题分解出的子问题的解可以合并为该问题的解; 4. 问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。 分治法的适用条件 因为问题的计算复杂性一般是随着问题规模的增加而增加,因此大部分问题满足条件1的特征。 第2条特征是应用分治法的前提,反映了递归思想的应用。 1. 问题的规模缩小到一定的程度就可以容易地解决; 2. 问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质; 3. 问题分解出的子问题的解可以合并为该问题的解; 4. 问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。 分治法的适用条件 能否利用分治法完全取决于问题是否具有第3条特征,如果具备了前两条特征,而不具备第3条特征,则可以考虑贪心算法或动态规划。 第4条特征涉及到分治法的效率,如果各子问题不独立,则分治法要做许多重复工作,重复地求解公共子问题,此时虽然也可用分治法,但一般用动态规划较好。 2 一个简单的例子—数字旋转方阵 问题描述:输出下图所示N×N(1≤N≤10)的数字旋转方阵。 1 20 19 18 17 16 2 21 32 31 30 15 3 22 33 36 29 14 4 23 34 35 28 13 5 24 25 26 27 12 6 7 8 9 10 11 A、B、C、D四个区域 想法:用二维数组data[N][N]表示N×N的方阵,观察方阵中数字的规律,可以从外层向里层填数。 设变量size表示方阵的大小,则初始时size = N,填完一层则size = size - 2; 设变量begin表示每一层的起始位置,变量i和j分别表示行号和列号,则每一层初始时i = begin,j = begin。 将每一层的填数过程分为A、B、C、D四个区域,则每个区域需要填写size – 1个数字,填写区域A时列号不变行号加1,填写区域B时行号不变列号加1,填写区域C时列号不变行号减1,填写区域D时行号不变列号减1。 显然,递归的结束条件是size等于0或size等于1。 2 一个简单的例子—数字旋转方阵 2 一个简单的例子—数字旋转方阵 算法4.1:数字旋转方阵Full 输入:当前层左上角要填的数字number,左上角的坐标begin,方阵的阶数size 输出:数字旋转方阵 1. 如果siz
您可能关注的文档
- 第3章--高频谐振放大器--高等教育出版社.ppt
- 第3章-1磁现象-磁场.ppt
- 第3章-Servlet基础.pptx
- 第3章-地理学中的经典统计分析方法——第1节-相关分析.ppt
- 第3编-第3章-陶渊明.ppt
- 第3节-平面镜成像----导学案.ppt
- 第3节-平面镜成像.ppt
- 第3节核酸.ppt
- 第3讲-气候变化与绿色增长下-博弈论及其在气候谈判中的应用.pptx
- 第3讲-现代天文学.ppt
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
最近下载
- 调车员理论知识培训内容课件.pptx
- 医院手术离体组织处理制度.docx VIP
- 2022年剧本娱乐行业发展报告-中国文化娱乐行业协会-202305.docx VIP
- 处世奇书《荣枯鉴》(原文+译文+解读).pdf VIP
- 专题01代词2024高考英语语法专项突破(原卷版).pdf VIP
- DB54T 0380-2024 牦牛早期断奶技术规范.docx VIP
- 2024年吉林长春市总工会公招聘工会社会工作者考试真题.docx VIP
- DB54T 0335-2024 青稞米加工技术规程.docx VIP
- 一种从白云鄂博主东矿稀土浮选尾矿中富集铌矿物的方法.pdf VIP
- DB54T 0516-2025 牦牛繁殖技术规程.docx VIP
原创力文档


文档评论(0)