欢迎来到天天文库
浏览记录
ID:58015780
大小:96.50 KB
页数:6页
时间:2020-04-07
《算法考试试题及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、填空题(本题10分,每空1分)1、算法的复杂性是的度量,是评价算法优劣的重要依据。2、设n为正整数,利用大“O(·)”记号,将下列程序段的执行时间表示为n的函数,则下面程序段的时间复杂度为。i=1;k=0;while(i2、与原问题相同。二、选择题(本题20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者()。A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同2、回溯法在解空间树T上的搜索方式是()。A.深度优先B.广度优先C.最小耗费优先D.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()。A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题4、以下关于判定问题难易处理3、的叙述中正确的是()。A.可以由多项式时间算法求解的问题是难处理的B.需要超过多项式时间算法求解的问题是易处理的C.可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的5、设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的阶()g(N)的阶。A.不高于B.不低于C.等价于D.逼近6、对于含有n个元素的子集树问题,最坏情况下其解空间4、的叶结点数目为()。A.n!B.2nC.2n+1-1D.2n-17、程序可以不满足以下()特征A.输入B.输出C.确定性D.有限性8、以下()不能在线性时间完成排序A.计数排序B.基数排序C.堆排序D.桶排序9、以下()不一定得到问题的最优解A.贪心算法B.回溯算法C.分支限界法D.动态规划法10、以下()不包括在图灵机结构中A.控制器B.读写磁头C.计算器D.磁带6-6三、简答题(本题20分,每小题5分)1、设有n=2k个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表:①每个选手必须与其他n-1名选手比赛各5、一次;②每个选手一天至多只能赛一次;③循环赛要在最短时间内完成。(1)如果n=2k,循环赛最少需要进行几天;(2)当n=22=4时,请画出循环赛日程表。2、简述最优子结构性质。3、简单描述回溯法基本思想。4、何谓P、NP问题四、算法填空(本题30分,每空2分)1、Dijkstra算法是解单源最短路径问题的贪心算法。请你阅读下面伪代码并在空白处填上适当的代码。//G是一个n个结点的有向图,它由成本邻接矩阵w[u,v]表示,D[v]表示结点v到源结点s的最短路径长度,p[v]记录结点v的父结点。Init-single-s6、ource(G,s)1.foreachvertexv∈V[G]2.do{d[v]=∞p[v]=NIL}3.d[s]=0Relax(u,v,w)1.if12.then{d[v]=d[u]+w[u,v]p[v]=u}dijkstra(G,w,s)1.22.S=Φ3.Q=V[G]4.whileQ<>3dou=min(Q)S=S∪{u}foreachvertexv∈adj[u]//所有u的邻接点vdo42、某工厂预计明年有N个新建项目,每个项目的投资额w[k]及其投资后的收益v[k]已知。投资总额为C,问如何选择项目才能使总7、收益最大。Invest-Program(){for(j=0;j<=C;j++)56-6for(j=w[n];j<=C;j++)m[n][j]=v[n];for(i=n-1;i>1;i--){intjMax=min(w[i]-1,c);for(j=0;j<=jMax;j++)m[i][j]=6;for(j=w[i];j<=C;j++)m[i][j]=max(7);}m[1][c]=m[2][c];if(8)m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]);}3、N后问题(1)用二维数组A[N8、][N]存储皇后位置,若第i行第j列放有皇后,则A[i][j]为非0值,否则值为0。(2)分别用一维数组M[N]、L[2*N-1]、R[2*N-1]表示竖列、左斜线、右斜线是否放有棋子,有则值为1,否则值为0。for(j=0;j
2、与原问题相同。二、选择题(本题20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者()。A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同2、回溯法在解空间树T上的搜索方式是()。A.深度优先B.广度优先C.最小耗费优先D.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()。A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题4、以下关于判定问题难易处理
3、的叙述中正确的是()。A.可以由多项式时间算法求解的问题是难处理的B.需要超过多项式时间算法求解的问题是易处理的C.可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的5、设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的阶()g(N)的阶。A.不高于B.不低于C.等价于D.逼近6、对于含有n个元素的子集树问题,最坏情况下其解空间
4、的叶结点数目为()。A.n!B.2nC.2n+1-1D.2n-17、程序可以不满足以下()特征A.输入B.输出C.确定性D.有限性8、以下()不能在线性时间完成排序A.计数排序B.基数排序C.堆排序D.桶排序9、以下()不一定得到问题的最优解A.贪心算法B.回溯算法C.分支限界法D.动态规划法10、以下()不包括在图灵机结构中A.控制器B.读写磁头C.计算器D.磁带6-6三、简答题(本题20分,每小题5分)1、设有n=2k个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表:①每个选手必须与其他n-1名选手比赛各
5、一次;②每个选手一天至多只能赛一次;③循环赛要在最短时间内完成。(1)如果n=2k,循环赛最少需要进行几天;(2)当n=22=4时,请画出循环赛日程表。2、简述最优子结构性质。3、简单描述回溯法基本思想。4、何谓P、NP问题四、算法填空(本题30分,每空2分)1、Dijkstra算法是解单源最短路径问题的贪心算法。请你阅读下面伪代码并在空白处填上适当的代码。//G是一个n个结点的有向图,它由成本邻接矩阵w[u,v]表示,D[v]表示结点v到源结点s的最短路径长度,p[v]记录结点v的父结点。Init-single-s
6、ource(G,s)1.foreachvertexv∈V[G]2.do{d[v]=∞p[v]=NIL}3.d[s]=0Relax(u,v,w)1.if12.then{d[v]=d[u]+w[u,v]p[v]=u}dijkstra(G,w,s)1.22.S=Φ3.Q=V[G]4.whileQ<>3dou=min(Q)S=S∪{u}foreachvertexv∈adj[u]//所有u的邻接点vdo42、某工厂预计明年有N个新建项目,每个项目的投资额w[k]及其投资后的收益v[k]已知。投资总额为C,问如何选择项目才能使总
7、收益最大。Invest-Program(){for(j=0;j<=C;j++)56-6for(j=w[n];j<=C;j++)m[n][j]=v[n];for(i=n-1;i>1;i--){intjMax=min(w[i]-1,c);for(j=0;j<=jMax;j++)m[i][j]=6;for(j=w[i];j<=C;j++)m[i][j]=max(7);}m[1][c]=m[2][c];if(8)m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]);}3、N后问题(1)用二维数组A[N
8、][N]存储皇后位置,若第i行第j列放有皇后,则A[i][j]为非0值,否则值为0。(2)分别用一维数组M[N]、L[2*N-1]、R[2*N-1]表示竖列、左斜线、右斜线是否放有棋子,有则值为1,否则值为0。for(j=0;j
此文档下载收益归作者所有