算法考试试题及答案

上传人:m**** 文档编号:67772034 上传时间:2022-04-01 格式:DOC 页数:7 大小:112KB
返回 下载 相关 举报
算法考试试题及答案_第1页
第1页 / 共7页
算法考试试题及答案_第2页
第2页 / 共7页
算法考试试题及答案_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
、填空题(本题10分,每空1分)1、 算法的复杂性是 的度量,是评价算法优劣的重要依据。2、 设n为正整数,利用大“ 0( ) ”记号,将下列程序段的执行时间表示为n的函数,则下面程序段的时间复杂度为 。i=1; k=0;while(in) k=k+10*i;i+; 3、 计算机的资源最重要的是 和资源。因而,算法的复杂性有 和之分。4、 f(n)= 6 X2 n+ n2, f(n)的渐进性态 f(n)= 0( )5、 递归是指函数 或者通过一些语句调用自身。6、 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题 互相 且与原问题相同。T上搜索问题的解,二者()。求解目标不同,搜索方式也不同求解目标相同,搜索方式也相同.、选择题(本题 20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树A.求解目标不同,搜索方式相同B.C.求解目标相同,搜索方式不同D.2、回溯法在解空间树 T上的搜索方式是()A.深度优先B. 广度优先C.最小耗费优先D.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()。A.回溯法 B. 分支限界法 C.回溯法和分支限界法 D.回溯法求解子集树问题4、 以下关于判定问题难易处理的叙述中正确的是()。A. 可以由多项式时间算法求解的问题是难处理的B. 需要超过多项式时间算法求解的问题是易处理的C可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的5、 设f(N),g(N)是定义在正数集上的正函数 ,如果存在正的常数 C和自然数NO,使得当NNO 时有f(N) Cg(N),则称函数 f(N)当N充分大时有上界 g(N),记作f(N)=O(g(N),即f(N)的 阶()g(N)的阶。A.不咼于B.不低于C.等价于D.逼近6、对于含有n个兀素的子集树问题,最坏情况下其解空间的叶结点数目为()!+1-1D. 2n-17、程序可以不满足以下()特征A.输入B.输出C.确定性D.有限性8、以下()不能在线性时间完成排序A.计数排序B. 基数排序C.堆排序D.桶排序9、以下()不一定得到问题的最优解A.贪心算法B.回溯算法C.分支限界法D.动态规划法10、以下()不包括在图灵机结构中A.控制器 B.读写磁头C. 计算器D.磁带三、简答题(本题20分,每小题5分)1、设有n=2k个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表: 每个选手必须与其他n-1名选手比赛各一次; 每个选手一天至多只能赛一次; 循环赛要在最短时间内完成。(1) 如果n=2k,循环赛最少需要进行几天;(2) 当n=2dv=du+wu,vPv=udijkstra(G,w,s) _2 S= Q=VGQ3do u=min(Q)S=SU ufor each vertex v adju / 所有 u 的邻接点 vdo4 2、某工厂预计明年有N个新建项目,每个项目的投资额 wk及其投资后的收益 vk已知。投资总额为C,问如何选择项目才能使总收益最大。In vest-Program() for (j=0;j=C;j+)5for (j=w n;j1;i-) int jMax=mi n(wi-1,c);=4时,请画出循环赛日程表。2、简述最优子结构性质。3、简单描述回溯法基本思想。4、何谓P、NP问题四、算法填空(本题 30分,每空2分)1. Dijkstra 算法是解单源最短路径问题的贪心算法。请你阅读下面伪代码并在空白处填上 适当的代码。ds=ORelax(u,v,w)1for(j=0;j=jMax;j+)mij= 6;for (j=wi;j=C;j+)mij=max( 7);m1c=m2c;if( 8_J_m1c=max(m1c,m2c-w1+v1);3、N后问题(1)用二维数组ANN存储皇后位置,若第i行第j列放有皇后,则Aij 为非0值,否则 值为0。 分别用一维数组 MN、L2*N-1、R2*N-1表示竖列、左斜线、右斜线是否放有棋子,有则值为1,否则值为0。for(j=0;j 0)14 /从串首开始找while (15)i+;delete(n,i); /删除串n的第i个字符s-;while (length(n)1)& (n1=0)delete( n,1); /删去串首可能产生的无用零输出n;五、请你阐述prim算法的基本思想。并给出下图的最小生成树(要求画出生成树,分析过程 可以省略)(本题10分)六、算法分析题(本题 10分) 数字全排列问题:任意给出从1到N的N个连续的自然数的各种排列。如N=3时,共有以下6种排列方式:123,132,213,231,312,321。算法描述如下。画出N=3时递归调用时堆栈变化情况,写出相对应i,j的值。设数组b的初始值为1,2, 3。perm(i nt b, int i)int k,j;if(i=N)输出;elsefor(j=i;jdu+w(u,v)(2)Init-single-source(G,s)(3 )0(4) Relax(u,v,w)2、(5) mnj=O;(6) mi+1j(7) mi+1j,mi+1j-wi+vi(8) c=w13、(9) !Mj&!Li+j&!Ri-j+N(10) Mj=Li+j=Ri-j+N=1;(11) try(i+1,M,L,R,A)(12) Aij=0(13) Mj=Li+j=Ri-j+N=O4、(14) i=1;(15) (ilength(n)&(nini+1)五、阐述prim算法的基本思想(本题 10分) (5分)prim算法的基本思想是:设G=(V,E)是连通带权图,V=1,2,n。首先置U=1,然后,只要 U是V的真子集,就作如下的贪心选择:选取满足条件i U,j V-U,且cij 最小的边,将顶点j添加到U中。这个过程一直进行到U=V时为止。在这个过程中选取到的所有边恰好构成G的一棵最小生成树。(5分)最小生成树如下:六、 算法设计题(本题10分)perm(i nt b, int i)int k,j;if(i=N)输出b数组各元素值;elsefor(j=i;jv=N;j+) swap(bi,bj);(1) i=1,j=1 i=3,j=2输出1 , 2, 3 i=3,j=3输出1 , 3, 2 i=1,j=2perm(b,i+1); (1) (2)(3)(5)(6 7)(8)(9) swap(bj,bi);/*初始调用时i = 1;*/ i=3,j=2
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!