- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分治算法的应用
课程名称: 算法设计与分析
院 系: 计算机科学与信息工程学院
学生姓名: *******
学 号: ************
专业班级: *****************************
指导教师: ******
2013年12月27日
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 13
分治算法的应用
摘 要:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。如果分解得到的子问题相对来说还太大,则可反复使用分治法策略将这些子问题分成更小的同类型子问题,必要时逐步合并这些子问题的和,最终就可得到原问题的解。有分治法的基本思想我们了解到,分治法求解很自然的可以利用一个递归过程来表示,可以这样说分治法就是一种找大规模问题与小规模问题的关系,是递归设计方法的一种具体策略。分治法与动态规划法实际上都是递归思想的运用, 二者的根本策略都是对问题进行分解,找到大规模与小规模的关系,然后通过解小规模的解,得出大规模的解,不同点: 适用于分治法的问题分解成子问题后,各子问题间无公共子问题,而动态规划法相反。大量实践中发现,在用分治法设计算法时,最好使子问题的规模大致相同。这种使子问题规模大致相等的做法是出自一种平衡(balancing)子问题的思想,它几乎总是比子问题规模不等的做法要好。子问题规模大致相同、平衡,这样最有效,通常 k = 2 , 从分治法的一般设计模式可以看出,用它设计出的程序一般是一个递归过程。因此,分治法的计算效率通常可以用递归方程来进行分析。
关键词:分治法 平面最接近点 二分法 递归 子问题
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc5188 第1章 绪论 PAGEREF _Toc5188 3
HYPERLINK \l _Toc1827 1.1 分治算法的知识介绍 PAGEREF _Toc1827 3
HYPERLINK \l _Toc6688 1.2 分治算法的问题描述 PAGEREF _Toc6688 3
HYPERLINK \l _Toc22348 第2章 分治算法的理论知识 PAGEREF _Toc22348 5
HYPERLINK \l _Toc21134 2.1数据结构和算法效率 PAGEREF _Toc21134 5
HYPERLINK \l _Toc18664 2.2分治算法之折半查找 PAGEREF _Toc18664 5
HYPERLINK \l _Toc27689 第3章 平面最接近点问题 PAGEREF _Toc27689 6
HYPERLINK \l _Toc29542 3.1 平面最接近点问题描述 PAGEREF _Toc29542 6
HYPERLINK \l _Toc16097 3.2 平面最接近点问题算法分析 PAGEREF _Toc16097 7
HYPERLINK \l _Toc23626 3.3 测试结果与分析 PAGEREF _Toc23626 9
HYPERLINK \l _Toc23090 第4章 结论 PAGEREF _Toc23090 11
HYPERLINK \l _Toc7424 参考文献 PAGEREF _Toc7424 12
第1章 绪论
1.1 分治算法的知识介绍
分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。如果分解得到的子问题相对来说还太大,则可反复使用分治法策略将这些子问题分成更小的同类型子问题,必要时逐步合并这些子问题的和,最终就可得到原问题的解。有分治法的基本思想我们了解到,分治法求解很自然的可以利用一个递归过程来表示,可以这样说分治法就是一种找大规模问题与小规模问题的关系,是递归设计方法的一种具体策略。
分治法解题的一般步骤为是:
(1)分解,将要解决的问题划分成若干规模较小的同类问题。(2)求解,当子问题划分得足够小时,用较简单的方法解决。(3)合并,按原问题的要求,将子问题的解逐层合并构成原问题的解。
常见的三种分治方法:
(1)二分法?,一种每次将原问题分解为两个子问题的分治法,是一分为二的哲学思想的应用。这种方法很常用,由此法产生了许多经典的算法和数据结构。?
(2)合并法,分解并在解决之前合并是一种分治法的变形
文档评论(0)