算法设计与分析 课件 许瑾晨 第四章 分治法.pptx

算法设计与分析 课件 许瑾晨 第四章 分治法.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

算法设计与分析

算法设计-分治;;算法设计与分析

分治引例-寻找假币;已知条件:一个装有16枚硬币的袋子,其中有一枚硬币是伪造的,并且伪造的硬币比真的硬币要轻一些。

工具:一台天枰,可用来比较两组硬币的重量。

问题:找出这枚伪造的硬币。;方法一;方法二;方法三;算法分析与比较;方法四;测试;方法二;算法设计与分析

分治引例-寻找金块;已知条件:某老板有一袋金块。每个月将有两名雇员会因其优异的表现分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重的金块,排名第二的雇员将得到袋中最轻的金块。

工具:一台天枰,可用来比较金块的重量。

问题:用最少的比较次数找出最轻和最重的金块。;方法一;方法一;方法二;方法二;方法二;算法分析;淘汰赛法思想:

先按淘汰赛法找出最大项;再在首轮败者中(包括首轮未参加比较的项)找出最小项。;

;测试;算法设计与分析

分治法-基本思想;寻找假币和金块问题的共同点

把问题分解为规模更小的问题

求解小规模问题

得到原问题的解

算法策略:分而治之;总体思想

适用条件

代码框架;T(n);T(n);分治就是“分而治之”,实质是将原问题分成n个规模较小而结构与原问题相似的子问题,然后递归地解这些子问题,最后合并其结果就得到原问题的解。;选择题

分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解,要求原问题和子问题的问题规模,问题性质。

A:相同,相同

B:相同,不同

C:不同,相同

D:不同,不同;分治法所能解决的问题一般具有以下几个特征:

该问题的规模缩小到一定的程度就可以容易地解决;

该问题可以分解为若干个规模较小的相同问题;

利用该问题分解出的子问题的解可以合并为该问题的解;

该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。;divide-and-conquer(P){

if(|P|=n0)adhoc(P);//解决小规模的问题

//分解

dividePintosmallersubinstancesP1,P2,...,Pk;

//递归求解各子问题

for(i=1;i=k;i++)

yi=divide-and-conquer(Pi);

//将子问题的解合并为原问题的解

returnmerge(y1,...,yk);

};测试:博彩诈骗为什么可以成功

背景设定

你是一位足球迷,当前正在进行某个足球赛事,你在看球的同时想娱乐一下,参与一下博彩事业,当前正在进行16进8的比赛,你想买张彩票,正在你准备下注时,收到了一个信息。

选择题:;1信息中说:A队肯定会在这场比赛中获胜,此时你会相信吗?;无论你信不信,你买了A队胜,此后,当A和C比赛时,你又收到了信息

2信息中说:C队肯定会在这场比赛中获胜,此时你会相信吗?;无论你信不信,你买了C队胜,此后,当C和E比赛时,你又收到了信息

3信息中说:C队肯定会在这场比赛中获胜,此时你会相信吗?

;你买了C队胜,决赛时,你又收到了信息

4要想知道比赛结果,需要付费查看,此时你会付费吗?

;选择:ACBA;学以致用才是学习的最终目的,日常中的各种现象,都可能被解释,主要看大家的思维方式,做任何事我们都要用正确的思维方式。;算法设计与分析

分治—二分搜索;问题描述:给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x。

算法思想:比较x和a[mid],若x==a[mid],则x在L中的位置就是mid;若xa[mid],在a[mid]的前面查找x;若xa[mid],在a[mid]的后面查找x。;算法思想:x与中间位置的元素进行比较,相等则查找成功;否则,如果x较小,继续在左边的有序区中二分搜索;如果x较大,则继续在右边的有序区中二分搜索,直到有序区中没有元素。;以比较操作为基本操作的算法类中,搜索有序表给定元素

的问题。二分搜索算法在平均、最坏情况下都是最优算法。;测试;算法设计与分析

分治—二分搜索—平均时间复杂度分析;平均时间复杂度分析;平均时间复杂度分析;平均时间复杂度分析;平均时间复杂度分析;测试;算法设计与分析

分治—快速排序;基本思想:

在数组中任选一个元素作为基准元素,用它和其他每

个元素比较,小于基准的放在它左边,大

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档