补充算法设计阶段小结.PDFVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补充补充 算法设计阶段小结算法设计阶段小结 分治法 动态规划法 贪心法 回溯法回溯法 分支限界法 随机化算法 1 算法导论 Sch1Sch1--44 分治法分治法 基本思想:把一个规模大的问题划分为规模较小的子问题,然后分而 治之,最后合并子问题的解得到原问题的解。 步骤步骤:: ① 分割原问题: ② 求解子问题: ③ 合并子问题的解为原问题的解。 在分治法中,子问题一般是相互独立的,因此,经常通过递归调用算 法来求解子问题法来求解子问题。。 2 算法导论 Sch1Sch1--44 分治法分治法 分治法所能解决的问题一般具有以下几个特征:分治法所能解决的问题一般具有以下几个特征: ① 该问题的规模缩小到一定的程度就可以容易地解决; ② 该问题可以分解为若干个规模较小的相同问题,即该问题具有最 优子结构性质优子结构性质 ③ 利用该问题分解出的子问题的解可以合并为该问题的解; ④ 该问题所分解出的各个子问题是相互独立的,即子问题之间不包 含公共的子问题。 这条特征涉及到分治法的效率,如果各子问题是不独立的, 则分治法要做许多不必要的工作,重复地解公共的子问题, 此时虽然也可用分治法此时虽然也可用分治法,但一般用但一般用动态规划动态规划较好较好。 3 算法导论 Sch1Sch1--44 分治法分治法 例例11 ::最近点对问题最近点对问题 为了使问题易于理解和分析,先来考虑一维的情形。此时,S中的n个 点退化为x轴上的n个实数 x1,x2,…,xn。最接近点对即为这n个实数中 相差差最小的2个实实数。 假设我们用x轴上某个点m将S划分为2个子集S1和S2 ,基于平衡子问 题题 的思想的思想,,用用SS 中各点坐标的中位数来作分割点中各点坐标的中位数来作分割点。。 递归地在S1和S2上找出其最接近点对{p1,p2}和{q1,q2},并设 d=min{|p1-p2|,|q1-q2|} ,S中的最接近点对或者是{p1,p2},或者是 {q1{q1,q2}q2} ,或者是某个或者是某个{p3{p3,q3}q3} ,其中其中p3∈S1p3∈S1且且q3∈S2q3∈S2 。 能否在线性时间内找到p3,q3? 4 算法导论 Sch1Sch1--44 分治法分治法 如果如果SS 的最接近点对是的最接近点对是{{p33,q3}3} ,即即||p33-q3|3|dd ,则则p33和和q33 两者与两者与m 的的 距离不超过d,即p3∈(m-d,m],q3∈(m,m+d]。 由于在S1中,每个长度为d的半闭区间至多包含一个点(否则必有两点 距离小于d),并且m是S1和S2的分割点,因此(m-d,m]中至多包含S中的 一个点。由图可以看出,如果(m-d,m]中有S中的点,则此点就是S1中最 大点。 因此,我们用线性时间就能找到区间(m-d,m]和(m,m+d]中所有点,即 p3和q3。从而我们用线性时间就可以将S1的解和S2的解合并成为S的解。 5 算法导论 Sch1Sch1--44 分治法分治法 选取一垂直线l:x=m 来作为分割直线。其中m为S中各点x坐标的中位 数数。由此将由此将SS 分割为分割为S1S1和S2S2。 递归地在S1和S2上找出其最小距离d1和d2,并设d=min{d1,d2} ,S中 的最接近点对或者是d,或者是某个{p,q},其中p∈P1且q∈P2。 能否在线性时间内找到p,q? 6 算法导论 Sch1Sch1--44 分治法分治法 能否在线性时间内找到p3,q3? 考虑P1中任意一点p,它若与P2中的点q构成最接近点对的候选者,则

您可能关注的文档

文档评论(0)

wendang_12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档