算法设计与分析期末复习.pdf

上传人:b****2 文档编号:3179685 上传时间:2022-11-19 格式:PDF 页数:4 大小:166.75KB
下载 相关 举报
算法设计与分析期末复习.pdf_第1页
第1页 / 共4页
算法设计与分析期末复习.pdf_第2页
第2页 / 共4页
算法设计与分析期末复习.pdf_第3页
第3页 / 共4页
算法设计与分析期末复习.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

算法设计与分析期末复习.pdf

《算法设计与分析期末复习.pdf》由会员分享,可在线阅读,更多相关《算法设计与分析期末复习.pdf(4页珍藏版)》请在冰豆网上搜索。

算法设计与分析期末复习.pdf

-1-2011-20122011-20122011-20122011-2012算法设计与分析期末复习算法设计与分析期末复习一、复杂性阶高低比较一、复杂性阶高低比较例例1111:

设2,0100,()log,1001000,1000.annTnbnnncnn=,判断对错:

1.2()()TnOn=(true)2.2()()Tnn=(true)3.2()()Tnn=(true)4.()(log)TnOnn=(false)5.()(log)Tnnn=(false)6.()(log)Tnnn=(true)7.()()TnOn=(false)8.()()Tnn=(false)9.()()Tnn=(true)10.()Tn可作为时间复杂性函数(true)例例2222:

对于下列函数)(nf和)(ng,确定)()(ngOnf=或)()(ngnf=或)()(ngnf=:

1、)5(loglog5log)(,log)(22+=+=nnnngnnf2、)(log)(,log)(22nOnnngnnf=3、)(loglog)(,)(22nnnngnnf=4、)(logloglog)(,log)(nnnnnngnnnnf=+=+=5、)(logloglog)(,log)(22nOnnngnnf=6、)100(2100)(,2)(22nnngnfnn=二、分治法的基本原理二、分治法的基本原理例例3333:

简述分治法的基本原理和适用范围。

答:

1、分治法的基本原理:

1)将问题的实例划分为几个较小的实例,最好具有相等的规模(一般是递归分成两个实例);2)对这些较小的实例求解(一般使用递归的方法,但在问题规模足够小的时候也可以采用采用其它算法(停止递归);3)合并这些较小问题的解,以得到原始问题的解(事实上,一个分治算法的精华就在于合并解的过程);2、分治法的适用范围:

-2-1)该问题的规模缩小到一定的程度就可以容易地解决;2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。

3)利用该问题分解出的子问题的解可以合并为该问题的解;4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

例例4444:

请利用你学过的一门编程语言写出二分查找算法程序。

算法程序如下:

publicstaticintbinarySearch(inta,intx,intn)intleft=0;intright=n-1;while(leftamiddle)left=middle+1;elseright=middle-1;return-1;三、三、动态规划基本原理动态规划基本原理例例5555:

简述动态规划基本原理和适用范围答:

1、动态规划基本原理:

1)动态规划算法与分治法类似,其基本思想也是将待求解的问题分成若干个子问题。

与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是相互独立的。

用分治法求解时,有些子问题被重复计算多次;而动态规划利用一个表来记录所有已解决的子问题的答案,在需要的时候找出已求的答案,可以避免大量的重复计算。

2)动态规划算法的设计步骤:

A.分析最优解的子结构问题的最优解子结构性质是该问题可用动态规划算法求解的显著特征;B.建立递归关系递归地定义最优值;C.计算最优值以自底向上的方式计算出最优值;D.构造最优解根据计算最优值时得到的信息,构造最优解。

例例6666:

A与B两支篮球队进行比赛,直到一个对赢得了n场比赛为止。

假设A队赢得每场比赛的概率是相同的,都为p,而丢到比赛的概率为q=1-p。

当A还需要i场胜利才能赢得比赛,而B还需要j场胜利才能赢得比赛的时候,A队赢球的概率为P(i,j)。

请为P(i,j)建立一个可以在动态规划算法中使用的递推关系。

解:

)1,(),1(),(+=jiqPjipPjiP)0,0(ji-3-例例7777:

有如下0/1背包问题:

给定n种物品和一背包,物品i重量是wi,其价值为vi,背包的容量为C。

试分析该问题的最优子结构和递归关系,并写出递推方程。

解:

1、分析最优子结构:

0/1背包问题具有最优子结构性质。

设(y1,y2,.,yn)是所给0/1背包问题的一个最优解,则(y1,y2,.,yn)是下面相应子问题的一个最优解。

=niiixvy1maxCxwinii=12、建立递归关系设所给背包问题的子问题的最优值为m(i,j),即背包容量为j,可选择物品为i,i+1.,n时背包问题的最优值。

由背包问题的最优子结构性质,可以建立如下递推式:

)0)(,1()(),1(),1(max),(iiiiwjjimwjvwjimjimjim+=)0(0)(),(nnnwjwjvjnm=四、四、贪心算法贪心算法例例8888:

简述贪心算法的性质以及它与动态规划算法的差异。

答:

贪心算法是通过一系列的选择得到问题的解。

它所做的每一个选择都是当前状态下局部最好的选择,即贪心选择。

1、贪心选择:

指所求问题的整体最优解可以通过一系列局部最优的选择来达到;2、最优子结构:

当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质;3、贪心算法与动态规划算法的差异:

贪心法的每一步都做一个最佳选择,得到的是最优解;动态规划算法需要把每一步所得到的最优结果解出来,然后综合得到最优解。

例例9999:

已知字符A,B,C,D,E和F出现在报文中的频率如下表,试用前缀码编码法对字符进行编码(要求写出编码过程),并计算平均码长。

字符ABCDEF频率301625194228解:

一种编码过程如下图:

-4-可知字符的编码为:

A:

01B:

000C:

100D:

001E:

11F:

10118.016028)(26.016042)(12.016019)(16.016025)(1.016016)(19.016030)(=FfEfDfCfBfAp平均码长58.2)()()(=cdcfTBCcT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1