算法设计与分析考试题自测(DOC 19页).doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《算法设计与分析考试题自测(DOC 19页).doc》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法设计与分析考试题自测DOC 19页 算法 设计 分析 考试题 自测 DOC 19
- 资源描述:
-
1、1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_有穷性_,_确定性_,_可行性_,_ (0个或多个)输入_,_ (1个或多个)_输出_。2.算法的复杂性有_时间复杂性_和_空间复杂性_之分,衡量一个算法好坏的标准是_时间复杂度高低_。3.某一问题可用动态规划算法求解的显著特征是_该问题具有最优子结构性质_。4.若序列X=B,C,A,D,B,C,D,Y=A,C,B,A,B,D,C,D,请给出序列X和Y的一个最长公共子序列_A,B,C,D_。BABCD或CABCD或CADCD5.用回溯法解问题时,应明确定义问题的解空间,问
2、题的解空间至少应包含_问题的一个(最优)解_。 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题_,先求解_子问题_,然后从这些_子问题_的解得到原问题的解。7.以深度优先方式系统搜索问题解的算法称为_回溯法_。8.0-1背包问题的回溯算法所需的计算时间为_O(n2n)_,用动态规划算法所需的计算时间为_O(n)_。 o(minnc,2n)9.动态规划算法的两个基本要素是_最优子结构_和_重叠子问题_。10.二分搜索算法是利用_动态规划法_实现的算法。二、综合题(50分)1.写出设计动态规划算法的主要步骤。1、解:(1)找出最优解的性质,并刻画其结构特征;(2)递归地定义最优值;(3
3、)以自底向上的方式计算出最优值;(4)根据计算最优值时得到的信息,构造最优解。问题具有最优子结构性质;构造最优值的递归关系表达式; 最优值的算法描述;构造最优解2. 流水作业调度问题的johnson算法的思想。 2、解:令N1=i|ai=bi;将N1中作业按ai的非减序排序得到N1,将N2中作业按bi的非增序排序得到N2;N1中作业接N2中作业就构成了满足Johnson法则的最优调度。3. 若n=4,在机器M1和M2上加工作业i所需的时间分别为ai和bi,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值
4、。 3、解:步骤为:N1=1,3,N2=2,4;N1=1,3, N2=4,2;最优值为:384. 使用回溯法解0/1背包问题:n=3(3种物品),C=9(背包的容量为9),V=6,10,3(3种物品的价值分别为6,10,3),W=3,4,4(3种物品的重量分别为3,4,4),其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。 4、解:其解空间为:(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1),(1,1,0),(1,1,1)解空间树为:ABCFEDGKJIHONML1
5、1100001011010该问题的最优值为:16=6+10 最优解为:(1,1,0)5. 设S=X1,X2,Xn是严格递增的有序集,利用二叉树的结点来存储S中的元素,在表示S的二叉搜索树中搜索一个元素X,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=Xi,其概率为bi。(2)在二叉搜索树的叶结点中确定X(Xi,Xi+1),其概率为ai。在表示S的二叉搜索树T中,设存储元素Xi的结点深度为Ci;叶结点(Xi,Xi+1)的结点深度为di,则二叉搜索树T的平均路长p为多少?假设二叉搜索树Tij=Xi,Xi+1,Xj最优值为mij,Wij= ai-1+bi+bj+aj,则mij(1=i=j
6、=n)递归关系表达式为什么? 5、解:二叉树T的平均路长P=+ mij=Wij+minmik+mk+1j (1=i=jj)6. 描述0-1背包问题。 6、解:已知一个背包的容量为C,有n件物品,物品i的重量为Wi,价值为Vi,求应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。三、简答题(30分)1.流水作业调度中,已知有n个作业,机器M1和M2上加工作业i所需的时间分别为ai和bi,请写出流水作业调度问题的johnson法则中对ai和bi的排序算法。(函数名可写为sort(s,n))2.最优二叉搜索树问题的动态规划算法(设函数名binarysearchtree))答案:一、填空1确
7、定性 有穷性 可行性 0个或多个输入 一个或多个输出2.时间复杂性 空间复杂性 时间复杂度高低 3. 该问题具有最优子结构性质 4.BABCD或CABCD或CADCD 5.一个(最优)解 6.子问题 子问题 子问题 7.回溯法 8. o(n*2n) o(minnc,2n)9.最优子结构 重叠子问题10.动态规划法二、综合题1.问题具有最优子结构性质;构造最优值的递归关系表达式; 最优值的算法描述;构造最优解;2. 令N1=i|ai=bi;将N1中作业按ai的非减序排序得到N1,将N2中作业按bi的非增序排序得到N2;N1中作业接N2中作业就构成了满足Johnson法则的最优调度。3.步骤为:N
8、1=1,3,N2=2,4;N1=1,3, N2=4,2;最优值为:384.解空间为(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1),(1,1,0),(1,1,1)。解空间树为:ABCFEDGKJIHONML11100001011010该问题的最优值为:16 最优解为:(1,1,0)5.二叉树T的平均路长P=+ mij=Wij+minmik+mk+1j (1=i=jj)6.已知一个背包的容量为C,有n件物品,物品i的重量为Wi,价值为Vi,求应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。三、简答题1.void sort(flowjope
9、 s,int n) int i,k,j,l; for(i=1;i=n-1;i+)/-选择排序 k=i; while(kn) break;/-没有ai,跳出 else for(j=k+1;jsj.a) k=j; swap(si.index,sk.index); swap(si.tag,sk.tag); l=i;/-记下当前第一个bi的下标 for(i=l;i=n-1;i+) k=i; for(j=k+1;j=n;j+) if(sk.bsj.b) k=j; swap(si.index,sk.index); /-只移动index和tag swap(si.tag,sk.tag); 2.void bin
10、arysearchtree(int a,int b,int n,int *m,int *s,int *w) int i,j,k,t,l; for(i=1;i=n+1;i+) wii-1=ai-1; mii-1=0; for(l=0;l=n-1;l+)/-l是下标j-i的差for(i=1;i=n-l;i+) j=i+l;wij=wij-1+aj+bj;mij=mii-1+mi+1j+wij;sij=i;for(k=i+1;k=j;k+) t=mik-1+mk+1j+wij;if(tmij) mij=t;sij=k;一、 填空题(本题15分,每小题1分)1、 算法就是一组有穷的 程序 规则 ,它们
11、规定了解决某一特定类型问题的 方法和过程 一系列运算 。2、 在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3个基本计算模型是 顺序结构 随机存取机RAM 、 循环结构 随机存取存储程序机RASP 、 条件结构 图灵机TM 。3、 算法的复杂性是 时间资源和空间资源 算法效率 的度量,是评价算法优劣的重要依据。4、 计算机的资源最重要的是 时间 和 空间 资源。因而,算法的复杂性有 时间复杂性 和 空间复杂性 之分。5、 f(n)= 62n+n2,f(n)的渐进性态f(n)= O( 2n )6、 贪心算法总是做出在当前看来 最优 的选择。也就是说贪心算法并不从整体最优考虑
12、,它所做出的选择只是在某种意义上的 局部最优选择 。7、 许多可以用贪心算法求解的问题一般具有2个重要的性质: 最优子结构 性质和 贪心选择 性质。二、简答题(本题25分,每小题5分)1、 简单描述分治法的基本思想。 1、答:分治法的基本思想是将一个规模为n 的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归地解这些子问题,然后将个子问题的解合并得到原问题的解。2、 简述动态规划方法所运用的最优化原理。 2、答:在动态规划中,不管子问题以后是否被用到,只要它被计算过,就将其结果填入表中。3、 何谓最优子结构性质? 3、答:当一个问题的最优解包含其子问题的最优解时,称此问题
展开阅读全文