算法设计与分析试题2007A
一份《算法设计与分析》试卷+答案
2006-2007学年度第一学期计算机科学系《算法设计与分析》期末试卷(A)一对于下列各组函数,确定f(n)=O(g(n))是否成立。
(每题5分,共20分)1f(n)=3n,g(n)=nf(n)=O(g(n))成立,因为存在正的常数C和自然数n,使得N>=n时,有F(n)<=Cg(n)2f(n)=nlogn+n,g(n)=logn不成立!N>=n时,有f(n)>=og(n);属于f(n)=πg(n)这种情况3f(n)=log2n,g(n)=logn不成立!当logN>=1时,总有f(n)>=log n,属于f(n)=πg(n)这种情况!4f(n)=5,g(n)=log5成立!总存在一个正的常数C,使得f(n)<=Cg(n)1二分搜索法 int bin_seach ( int k[ ] , int n , int key ) { int low = 0 , high = n=1 , mid ; while ( low <= high ) { mid = ( low + high ) / 2 ; if ( key == k[ mid ] ) return mid ; if ( key > k[ mid ] ) low = mid + 1 ; else high = mid - 1 ; } return -1 ;} T(n)=n 2利用一维一级指针数组及二级指针输出二维数组元素。
#include "stdio.h" void main() { int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *arr[3]={a[0],a[1],a[2]}; int i,j,**p; p=arr; for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",a[i][j]));printf("%3d",*(&p[0][0]+i*4+j));printf("%3d",*(p[i]+j));printf("%3d",(*(p+i))[j]);printf("%3d",*(*(p+i)+j));printf("\n");}printf("\n");三 写出下列算法的时间复杂度函数.(每题5分,共10分)————————————装————————————————订}T(n)=12四根据给定的算法求出下列问题的解。
《算法设计与分析》考试题目及答案(DOC)
《算法设计与分析》考试题目及答案(DOC)D. 预排序与递归调用7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。
A.广度优先B. 活结点优先 C.扩展结点优先 D. 深度优先8. 分支限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间树。
A.广度优先B. 活结点优先 C.扩展结点优先 D. 深度优先9. 程序块(A)是回溯法中遍历排列树的算法框架程序。
A.B.C.D. void backtrack (int t){if (t>n) output(x);elsefor (int i=t;i<=n;i++) {swap(x[t], x[i]);if (legal(t)) backtrack(t+1); swap(x[t], x[i]);}}void backtrack (int t){if (t>n) output(x);elsefor (int i=0;i<=1;i++) {x[t]=i;if (legal(t)) backtrack(t+1); }}10. 回溯法的效率不依赖于以下哪一个因素?(C )A.产生x[k]的时间;B.满足显约束的x[k]值的个数;C.问题的解空间的形式;D.计算上界函数bound的时间;E.满足约束函数和上界函数约束的所有x[k]的个数。
F.计算约束函数constraint的时间;11. 常见的两种分支限界法为(D)A. 广度优先分支限界法与深度优先分支限界法;B. 队列式(FIFO)分支限界法与堆栈式分支限界法;C. 排列树法与子集树法;D. 队列式(FIFO)分支限界法与优先队列式分支限界法;12. k带图灵机的空间复杂性S(n)是指(B)A.k带图灵机处理所有长度为n的输入时,在某条带上所使用过的最大方格数。
B.k带图灵机处理所有长度为n的输入时,在k条带上所使用过的方格数的总和。
C.k带图灵机处理所有长度为n的输入时,在k条带上所使用过的平均方格数。
算法设计与分析(A)评分标准和参考答案
(占 1 分) 当调度方案是 2,3,1 时:
(占 1 分)
第
1 页 共
2 页
当调度方案是 3,1,2 时: 机器 1 机器 2 作业 3 2 作业 2 2+3=5 作业 1 5+2=7 完成时间和=5+6+8=19
2+3=5 5+1=6 7+1=8 (占 1 分)
它们所对应的完成时间和分别是 19,18,20,21,19,19; 因此最佳调度方案是 1,3,2; .其完成时间为 18。 (占 2 分)
2. 证明:设 F(N)=O(f)), 根据 O 的定义,存在正常数 C1 和 N1, 使得对所有 N>= N1 有 F(N)<=C1f(N); (占 2 分) 再设 G(N)= O(g), 根据 O 的定义,存在正常数 C2 和 N2, 使得对所有 N>= n2 有 G(N)<= C2f(n); (占 2 分) 令 C3=max{C1,C2},N3=max{N1,N2},h(N)=max{f,g},则对所有的 N>=N3,有:(占 2 分) F(N)<= C1f(N)<= C1h(N)<= C3h (N); 类似地有: G(N)<= C2f(N)<= C2h(N)<= C3h (N); 则: (占 2 分) O(f)+O(g)=F(N)+G(N)<= C3h (N)+ C3h (N) =2 C3h (N)=O(h)=O(max(f,g))
五、綜合题(每小题 12 分,共 24 分)
1.(每小问为 2 分) ①:i<=n ②:0 ③:i<=n-r+1 ④:i+r-1 ⑤:t[i][k]+ t[k+1][j]+w(i-1,k,j) ⑥: t[i][j] 2. 1 1 1 .这三个作业的可能的调度方案总数是:P3 P2 P1 =3*2*1=6; 具体的调度方案是 1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2; 3,2,1; .当调度方案是 1,2,3 时: 机器 1 机器 2 作业 1 2 2+1=3 作业 2 2+3=5 5+1=6 作业 3 5+2=7 7+3=10 完成时间和=3+6+10=19 . 当调度方案是 1,3,2 时: 机器 1 机器 2 作业 1 2 2+1=3 作业 3 2+2=4 4+3=7 作业 2 4+3=7 7+1=8 完成时间和=3+7+8=18 (占 1 分) 当调度方案是 2,1,3 时: 机器 1 机器 2 作业 2 3 3+1=4 作业 1 3+2=5 5+1=6 作业 3 5+2=7 7+3=10 完成时间和=4+6+10=20 机器 1 机器 2 作业 2 3 3+1=4 作业 3 3+2=5 5+3=8 作业 1 5+2=7 8+1=9 完成时间和=4+8+9=21
算法设计与分析期末试卷A卷
算法设计与分析期末试卷A卷一、选择题1.二分搜索算法是利用(A)实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法解析:二分搜索是一种基于分治策略的算法。
2.回溯法解旅行售货员问题时的解空间树是(A)。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树解析:旅行售货员问题的解空间树是子集树,因为每个结点代表一个城市的集合。
3.下列算法中通常以自底向上的方式求解最优解的是(B)。
A、备忘录法B、动态规划法C、贪心法D、回溯法解析:动态规划法通常以自底向上的方式求解最优解。
4.下面不是分支界限法搜索方式的是(D)。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先解析:分支界限法搜索方式包括广度优先、最小耗费优先和最大效益优先,但不包括深度优先。
5.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为(B)。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)解析:最优装载问题采用贪心算法的主要计算量在于将集装箱依其重量从小到大排序,因此时间复杂度为O(nlogn)。
6.分支限界法解最大团问题时,活结点表的组织形式是(B)。
A、最小堆B、最大堆C、栈D、数组解析:分支限界法解最大团问题时,活结点表的组织形式是最大堆。
7、下面问题(B)不能使用贪心法解决。
A 单源最短路径问题C 最小花费生成树问题B N皇后问题D 背包问题解析:N皇后问题不能使用贪心法解决。
8.下列算法中不能解决0/1背包问题的是(A)A 贪心法B 动态规划C 回溯法D 分支限界法解析:贪心法不能解决0/1背包问题。
9.背包问题的贪心算法所需的计算时间为(B)A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)解析:背包问题的贪心算法所需的计算时间为O (nlogn)。
二、填空题1.算法的复杂性有时间复杂性和空间复杂性之分。
2.算法是由若干条指令组成的有穷序列,且要满足输入、输出、确定性和有穷性四条性质。
2008.7算法设计与分析课程期末试卷
华南农业大学期末考试试卷(A卷)2007学年第二学期考试科目:算法分析与设计考试类型:(闭卷)考试时间:120分钟学号姓名年级专业一、选择题(30分,每题2分)1、下面的算法段针对不同的自然数n作不同的处理,其中函数odd (n) 当n是奇数时返回true,否则返回false,while ( n > 1)if ( odd (n) )n = 3 * n + 1;elsen = n / 2;请问该算法所需计算时间的下界是 D 。
A.Ω(2n)B.Ω(nlog n)C.Ω(n!)D.Ω(logn)2、某体育馆有一羽毛球场出租,现在总共有10位客户申请租用此羽毛球场,每个客户所租用的时间单元如下表所示,s(i)表示开始租用时刻,f(i)表示结束租用时刻,同一时刻,该羽毛球场只能租借给一位客户,请问在这10位客户里面,体育馆最多能满足B 位客户的需求。
P104A.3 B.4 C.5 D.63、当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可以使用 B 来消除或减少问题的好坏实例间的这种差别。
A .数值概率算法 B .舍伍德算法 C .拉斯维加斯算法 D .蒙特卡罗算法4、将一个正整数n 表示成一系列正整数之和, n = n 1 + n 2 + … +n k (其中,n 1≥n 2≥ … ≥n k ≥1,k ≥1)正整数n 的一个这种表示称为正整数n 的一个划分。
正整数n 的不同的划分个数总和称为正整数n 的划分数,记作p (n );另外,在正整数n 的所有不同划分中,将最大加数n1不大于m 的划分个数记作q (n ,m )。
则当n=10时,p (n )= C 。
A .q (8,8) B .1 + q (9,9) P12 C .2 + q (10,8) D .A ,B ,C 都正确5、对于含有n 个元素的子集树问题,最坏情况下其解空间的叶结点数目为 B 。
A .n!B .2nC .2n+1-1 D .∑=ni i n 1!/! P1406、在棋盘覆盖问题中,对于2k ×2k 的特殊棋盘(有一个特殊方块),所需的L 型骨牌的个数是 A 。
武汉大学计算机学院《算法设计与分析》考试试卷
武汉大学计算机学院2007---2008学年第一学期2005级《算法设计与分析》考试试卷(A)1、(10分)证明:若f₁(n)=O(g₁(n)), f₂(n)=O(g₂(n)),则有:f₁(n)* f₂(n)= O(g₁(n))* O(g₂(n))2、(10分)设f(n)为单调递减函数,利用不等式证明:= O(log n)。
3、(10分)用归纳法证明递归关系:T(n的解为T(n)=,n=0,1,2….4、(10分)试用RadixSort算法对下面数组进行排序,写出排序的详细过程:1455,5677,5323,8122,4901,6647,1123,87625、(10分)给定数组含25个元素的数组如下,利用SELECT算法求数组中第13小的元素,在应用SELECT算法时,要求每组含有的元素个数为7而不是5,另外,当元素个数是6时,直接求解:8,33,17,51,57,49,35,11,25,37,14,2,3, 13,52,12,6,29,32,54,5,16,22,23,76、(12分)给定两个字符串X=(A,B,C,B,D,A,B)和Y=(B,D,C,A,B,A),考虑利用动态规划方法求解这两个字符串的最长公共子序列问题:(1)利用动态规划算法求出上述两个字符串的最长公共子序列,要求写出动态规划方程和详细的求解过程,不需要写出具体的算法;(2)请给出一个最长公共子序列的表达式,并说明你的依据。
7、(12分)假设有一个包含100,000个字符的数据文件要压缩存储,各字符的出现频度如下:(1)试构造出这些字符的哈弗曼编码方案,要求写出详细过程,不需要写出具体算法;(2)计算采用哈弗曼编码方案与定长编码的压缩比。
8、(16分)设有向图的成本矩阵如下,写出利用TSP问题的分析限界法(搜索树限为二叉树)求经过该图每个节点刚好一次的闭合最短路径的过程:(1)写出原始成本矩阵的归约矩阵,并计算其矩阵约数;(2)写出用来划分节点的边的选择方法;(3)给出具体的搜索树;(4)根据搜索树,列出最优的周游路线和其对应的成本值。
算法设计与分析a卷及答案
算法设计与分析试题A及答案一.填空题:(每题4分,共20分)1.算法是指(解决问题的)一种方法或一个过程,是(若干指令的)有穷序列。
2质。
3. 贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择来达到。
4.递归函数的两大基本要素是_递归方程和边界条件_ .5.在回溯法中,一个问题的解空间是指一个大的解决方案可以看作是由若干个小的决策组成。
很多时候它们构成一个决策序列。
解决一个问题的所有可能的决策序列构成该问题的解空间.二.简答题:(每题5分,共20分)1.简述分治法所能解决的问题一般应具有的特征。
1.)该问题的规模缩小到一定的程度就可以容易地解决;2.)该问题具有最优子结构性质;3.)利用该问题分解出的子问题的解可以合并为该问题的解;4.)该问题所分解出的各个子问题是相互独立的。
2.设有待安排的8个活动的开始时间和结束时间如下表。
请采用贪心算法给出活动安排序解:将待安排的8个活动的开始时间和结束时间按结束时间的非减序排列如下:用贪心算法给出活动安排序列:1,3,6,8。
贪心选择的意义是使剩余的可安排时间段极大化,以便安排尽可能多的相容活动。
3.请描述分治法的具体过程。
将原问题划分成k 个子问题。
对这k 个子问题分别求解。
如果子问题的规模仍然不够小,则再划分为k 个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。
将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。
4. Fibonacci 数列如下定义:10()11(1)(2)1n F n n F n F n n =⎧⎪==⎨⎪-+->⎩1、 请设计一个递归算法,计算F(n)。
2、 分析算法的时间复杂性。
解 1、int fibonacci(int n) { if (n <= 1) return 1;return fibonacci(n-1)+fibonacci(n-2); }2、T(n)=T(n-1)+T(n-2)。
(完整版)算法设计与分析考试题及答案,推荐文档
____________________________________。 4.若序列 X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列
X 和 Y 的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至
和
之分。
5、 f(n)= 6×2n+n2,f(n)的渐进性态 f(n)= O(
)
6、 贪心算法总是做出在当前看来
的选择。也就是说贪心算法并不从整体最优考
虑,它所做出的选择只是在某种意义上的
。
7、 许多可以用贪心算法求解的问题一般具有 2 个重要的性质:
性质和
性质。
二、简答题(本题 25 分,每小题 5 分)
五、算法理解题(本题 5 分) 设有 n=2k 个运动员要进行循环赛,
现设计一个满足以下要求的比赛日程表:
①每个选手必须与其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次;
③循环赛要在最短时间内完成。
我去(人1)如也果 就n=2k有,循人环赛!最少为需要U进R行扼几天腕; 入站内信不存在向你偶同意调剖沙 (2)当 n=23=8 时,请画出循环赛日程表。
六、算法设计题(本题 15 分) 分别用贪心算法、动态规划法、回溯法设计 0-1 背包问题。要求:说明所使用的算法
策略;写出算法实现的主要步骤;分析算法的时间。 七、算法设计题(本题 10 分)
建议收藏下载本文,以便随时学习! 通过键盘输入一个高精度的正整数 n(n 的有效位数≤240),去掉其中任意 s 个数字后, 剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 n 和 s,寻找一种方案, 使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
算法设计和分析试题(卷)与答案解析
湖南科技学院二○ 年 学期期末考试信息与计算科学专业 年级《算法设计与分析》 试题考试类型:开卷 试卷类型:C 卷 考试时量:120 分钟 一、填空题(每小题3 分,共计30 分)1. 用O 、Ω和θ表示函数f 与g 之间的关系______________________________。
()()log log f n n n g n n ==2. 算法的时间复杂性为1,1()8(3/7),2n f n f n n n =⎧=⎨+≥⎩,则算法的时间复杂性的阶为__________________________。
3. 快速排序算法的性能取决于______________________________。
4. 算法是_______________________________________________________。
5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。
6. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。
7. 大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。
8. ____________________________是问题能用动态规划算法求解的前提。
9. 贪心选择性质是指________________________________________________________ ____________________________________________________________。
10. 回溯法在问题的解空间树中,按______________策略,从根结点出发搜索解空间树。
二、简答题(每小题10分,共计30分)1. 试述回溯法的基本思想及用回溯法解题的步骤。
2. 有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。
《算法分析与设计试卷2016-2017》
《算法分析与设计》试卷(A)(时间90分钟满分100分)B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法2.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B ).A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题3.实现最大子段和利用的算法是( B )。
A、分治策略B、动态规划法C、贪心法D、回溯法4..广度优先是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法5.衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短6.Strassen矩阵乘法是利用( A)实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法7. 使用分治法求解不需要满足的条件是( A )。
A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解8.用动态规划算法解决最大字段和问题,其时间复杂性为( B ).A.lognB.nC.n2D.nlogn9.解决活动安排问题,最好用( B )算法A.分治B.贪心C.动态规划D.穷举10.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数C。
随机数函数 D.搜索函数11. 从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( C )之外都是最常见的方式.A.队列式分支限界法B.优先队列式分支限界法C.栈式分支限界法D.FIFO分支限界法12. .回溯算法和分支限界法的问题的解空间树不会是( D ).A.有序树B.子集树C.排列树D.无序树13.优先队列式分支限界法选取扩展结点的原则是( C )。
A、先进先出B、后进先出C、结点的优先级D、随机14.下面是贪心算法的基本要素的是( C )。
A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解15.回溯法在解空间树T上的搜索方式是( A ).A.深度优先B.广度优先C.最小耗费优先D.活结点优先二、填空题(20分,每空1分)。
《算法设计与分析》试卷及答案
《算法设计与分析》试卷1一、多项选择题(每空2分, 共20分):1.以下关于算法设计问题的叙述中正确的是__________。
A.计算机与数值问题的求解——方程式求根、插值问题、数值积分、函数逼近等有关B.利用计算机无法解决非数值问题C.计算机在解决分类、语言翻译、图形识别、解决高等代数和组合分析等方面的数学问题、定理证明、公式推导乃至日常生活中各种过程的模拟等问题中, 主要进行的是判断、比较, 而不是算术运算D、算法设计与分析主要研究对象是非数值问题, 当然也包含某些数值问题2.算法的特征包括_________。
A.有穷性B、确定性C.输入和输出D.能行性或可行性3、以下描述是有关算法设计的基本步骤:①问题的陈述②算法分析③模型的拟制④算法的实现⑤算法的详细设计⑥文档的编制, 应与其它环节交织在一起其中正确的顺序是__________。
A.①②③④⑤⑥B.①③⑤②④⑥C.②④①③⑤⑥D.⑥①③⑤②④4.以下说法正确的是__________。
A.数学归纳法可以证明算法终止性B.良序原则是证明算法的正确性的有力工具C. x = 小于或等于x的最大整数(x的低限)D. x = 小于或等于x的最大整数(x的高限)5、汉诺塔(Hanoi)问题中令h(n)为从A移动n个金片到C上所用的次数, 则递归方程为__________, 其初始条件为__________, 将n个金片从A柱移到C柱上的移动次数是__________;设菲波那契(Fibonacci)数列中Fn为第n个月时兔子的对数, 则有递归方程为__________, 其中F1=F2=__________。
A.Fn=Fn-1+Fn-2 B、h(n)= 2h(n-1)+1C.1 D、h(1)= 1E、h(n)=2n-1F、06.在一个有向连通图中(如下图所示), 找出点A到点B的一条最短路为____ ______。
A.最短路: 1→3→5→8→10, 耗费: 20B、最短路:1→4→6→9→10, 耗费:16C.最短路: 1→4→6→9, 耗费: 12D.最短路: 4→6→9→10, 耗费: 13二、填空(每空2分, 共20分):1.快速排序法的基本思想是重新排列关键字, 把一个文件分成两个文件, 使得第一个文件中所有元素均小于第二个文件中的元素;然后再对两个子文件进行同样的处理。
算法设计与分析期末考试卷及答案a
算法设计与分析期末考试卷及答案a-CAL-FENGHAI.-(YICAI)-Company One1考生 信 息 栏 ______学院______系______ 专业 ______年级姓名______学号__装订线考生 信息栏______学院______系______ 专业 ______年级姓名______学号_装订线pro2(n) ex1(n/2) end if return end ex1 3.用Floyd 算法求下图每一对顶点之间的最短路径长度,计算矩阵D 0,D 1,D 2和D 3,其中D k [i, j]表示从顶点i 到顶点j 的不经过编号大于k 的顶点的最短路径长度。
三.算法填空题(共34分) 1.(10分)设n 个不同的整数按升序存于数组A[1..n]中,求使得A[i]=i 的下标i 。
下面是求解该问题的分治算法。
算法 SEARCH 输入:正整数n ,存储n 个按升序排列的不同整数的数组A[1..n]。
输出:A[1..n]中使得A[i]=i 的一个下标i ,若不存在,则输出 no solution 。
i=find ( (1) ) if i>0 then output i else output “no solution ” end SEARCH 过程 find (low, high) // 求A[low..high] 中使得A[i]=i 的一个下标并返回,若不存在,考生 信息栏______学院______系______ 专业 ______年级姓名______学号_____装订线《算法设计与分析》期考试卷(A)标准答案一. 填空题:1. 元运算 考 生 信息栏______学院______系______ 专业 ______年级姓名______学号_____装订线2. O3. ∑∈nD I I t I p )()(4. 将规模为n 的问题分解为子问题以及组合相应的子问题的解所需的时间5. 分解,递归,组合6. 在问题的状态空间树上作带剪枝的DFS 搜索(或:DFS+剪枝)7. 前者分解出的子问题有重叠的,而后者分解出的子问题是相互独立(不重叠)的8. 局部9. 高10. 归并排序算法11. 不同12. v=random (low, high); 交换A[low]和A[v]的值随机选主元13. 比较n二. 计算题和简答题:1. 阶的关系:(1) f(n)= O(g(n))(2) f(n)=Ω(g(n))(3) f(n)=Ω(g(n))(4) f(n)= O(g(n))(5) f(n)=Θ(g(n))阶最低的函数是:100阶最高的函数是:n 32. 该递归算法的时间复杂性T(n)满足下列递归方程:⎩⎨⎧>+===1n ,n log T(n/2)T(n)1n , 1T(n)2 将n=k 2, a=1, c=2, g(n)=n log 2, d=1代入该类递归方程解的一般形式得: T(n)=1+∑-=1k 0i i 22n log =1+k n log 2-∑-=1k 0i i =1+ k n log 2-2)1k (k -=n log 2122+n log 212+1 所以,T(n)= n log 2122+n log 212+1=)(log 2n Θ。
(完整word版)算法设计与分析课程期末试卷
华南农业大学期末考试试卷(A卷)2007学年第一学期考试科目: 算法分析与设计考试类型: (开卷)考试时间: 120分钟学号姓名年级专业一、选择题(20分, 每题2分)1.void hanoi(int n, int a, int b, int c){if (n > 0){hanoi(n-1, a, c, b)。
move(a,b)。
hanoi(n-1, c, b, a)。
}}上述算法的时间复杂度为A.A. O(2n)B. O(nlog n)C. Θ(n!)D. Θ(nn)2.当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时, 可以使用B来消除或减少问题的好坏实例间的这种差别.(A)数值概率算法(B)舍伍德算法(C)拉斯维加斯算法(D)蒙特卡罗算法3.对于下列二分搜索算法, 正确的是D.(A)public static int binarySearch(int[] a, int x, int n){int left = 0, right = n-1。
while(left <= right){int middle = (left + right) / 2。
if(x == a[middle]) return middle。
if(x > a[middle]) left = middle。
else right = middle。
}//whilereturn –1。
}(B)public static int binarySearch(int[] a, int x, int n) {int left = 0, right = n-1。
while(left+1 != right){int middle = (left + right) / 2。
if(x >= a[middle]) left = middle。
else right = middle。
}//whileif(x == a[left]) return left。
算法设计与分析试卷试题(A)(附答案)
chengcheng算法分析考试试卷(A卷)课程名称算法分析编号题号一二三四总分得分评阅人一、填空题(每小题3分,共30分)1、一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
2、这种不断回头寻找目标的方法称为回溯法。
3、直接或间接地调用自身的算法称为递归算法。
4、 记号在算法复杂性的表示法中表示紧致界。
5、由分治法产生的子问题往往是原问题较小模式,这就为使用递归技术提供了方便。
6、建立计算模型的目的是为了使问题的计算复杂性分析有一个共同的客观尺度。
7、下列各步骤的先后顺序是②③④①。
①调试程序②分析问题③设计算法④编写程序。
8、最优子结构性质的含义是问题最优解包含其子问题最优解。
9、贪心算法从初始阶段开始,每一个阶段总是作一个使局部最优的贪心选择。
10、拉斯维加斯算法找到的解一定是正确的。
二、选择题(每小题2分,共20分)1、哈夫曼编码可利用( C )算法实现。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是基本计算模型的是( B )。
A、RAMB、ROMC、RASPD、TM3、下列算法中通常以自顶向下的方式求解最优解的是( C)。
A、分治法B、动态规划法C、贪心法D、回溯法chengcheng 4、在对问题的解空间树进行搜索的方法中,一个活结点有多次机会成为活结点的是( A )A、回溯法B、分支限界法C、回溯法和分支限界法D、动态规划5、秦始皇吞并六国使用的远交近攻,逐个击破的连横策略采用了以下哪种算法思想? BA、递归;B、分治;C、迭代;D、模拟。
6、FIFO是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法7、投点法是( B )的一种。
A、分支界限算法B、概率算法C、贪心算法D、回溯算法8、若线性规划问题存在最优解,它一定不在( C )A.可行域的某个顶点上 B.可行域的某条边上 C.可行域内部 D.以上都不对9、在一般输入数据的程序里,输入多多少少会影响到算法的计算复杂度,为了消除这种影响可用( B )对输入进行预处理。
算法设计与分析(试题A卷)
四川师范大学成教×××专业×××层次半脱产形式期末考试期末试卷第1页( 共6页)《算法设计与分析》课程试卷(A)答卷说明:1、考试方式 闭卷2、满分100分一、单项选择题(每小题3分,共30分)1、动态规划算法的基本要素为( )。
A 、最优子结构性质与贪心选择性质B 、重叠子问题性质与贪心选择性质C 、最优子结构性质与重叠子问题性质D.、预排序与递归调用2、算法分析中,记号O 表示( ),记号Ω表示( ),记号Θ表示( )。
A 、渐进下界B 、渐进上界C 、非紧上界D 、紧渐进界E 、非紧下界3、以下关于渐进记号的性质是正确的有:( )A 、f (n)(g(n)),g(n)(h(n))f (n)(h(n))=Θ=Θ⇒=ΘB 、f (n)O(g(n)),g(n)O(h(n))h(n)O(f (n))==⇒=C 、O(f(n))+O(g(n)) = O(min{f(n),g(n)})D 、f (n)O(g(n))g(n)O(f (n))=⇔=4、下列算法中通常以自底向上的方式求解最优解的是( )。
四川师范大学成教××专业××层次××形式期末考试 ××试卷 第2页( 共6页) A 、备忘录法 B 、动态规划法 C 、贪心法 D 、回溯法5、衡量一个算法好坏的标准是( )。
A 、运行速度快B 、占用空间少C 、时间复杂度低D 、代码段6、实现棋盘覆盖算法利用的算法是( )。
A 、分治法B 、动态规划法C 、贪心法D 、回溯法7、下面关于NP 问题说法正确的是( )。
A 、NP 问题都是不可能解决的问题B 、P 类问题包含在NP 类问题中C 、NP 完全问题是P 类问题的子集D 、NP 类问题包含在P 类问题中8、矩阵连乘问题的算法可由( )设计实现。
A 、分支界限算法B 、动态规划算法C 、贪心算法9、( )是贪心算法与动态规划算法的共同点。
(完整版)算法设计与分析期末考试卷及答案a
e i rb ei n一.填空题: 1. 元运算2. O 3.∑∈nD I I t I p )()(4. 将规模为n 的问题分解为子问题以及组合相应的子问题的解所需的时间5. 分解,递归,组合6. 在问题的状态空间树上作带剪枝的DFS 搜索(或:DFS+剪枝)7. 前者分解出的子问题有重叠的,而后者分解出的子问题是相互独立(不重叠)的8. 局部9. 高10. 归并排序算法11. 不同12. v=random (low, high); 交换A[low]和A[v]的值 随机选主元13. 比较n二.计算题和简答题:1. 阶的关系:(1) f(n)= O(g(n))(2) f(n)=(g(n))Ω (3) f(n)=(g(n))Ω (4) f(n)= O(g(n))3. (1) i>=1 (2)k[i]+1 (3) 1(4) i+1 (5) k[i]=0 (6) tag[x, y]=0(7) x=x-dx[k[i]]; y=y-dy[k[i]]四.算法设计题:1. 贪心选择策略:从起点的加油站起每次加满油后不加油行驶尽可能远,直至油箱中的油耗尽前所能到达的最远的油站为止,在该油站再加满油。
算法MINSTOPS输入:A、B两地间的距离s,A、B两地间的加油站数n,车加满油后可行驶的公里数m,存储各加油站离起点A的距离的数组d[1..n]。
输出:从A地到B地的最少加油次数k以及最优解x[1..k](x[i]表示第i次加油的加油站序号),若问题无解,则输出no solution。
d[n+1]=s; //设置虚拟加油站第n+1站。
for i=1 to nif d[i+1]-d[i]>m thenoutput “no solution”; return //无解,返回end ifend fork=1; x[k]=1 //在第1站加满油。
s1=m //s1为用汽车的当前油量可行驶至的地点与A点的距离i=2while s1<sif d[i+1]>s1 then //以汽车的当前油量无法到达第i+1站。
2006-2007学年第二学期《算法设计与分析》A卷
2006-2007学年第⼆学期《算法设计与分析》A卷⼆、对于下列各组函数,确定f(n) = O(g(n)),或者f(n) =Ω(g(n)),或f(n)=(g(n))。
(15分)1. f(n)=logn2, g(n)=logn+52. f(n)=logn2, g(n) = n3. f(n) = n, g(n)=log2n4. f(n)=nlogn+n, g(n)=logn三、给定如下矩阵连乘问题,⽤动态规划算法计算最优计算次序及最优值(15分)。
A1 A2 A3 A4 A5 A620×10 10×35 35×15 15×40 40×25 25×30四、对于数组a[0 : n-1],给定n段合并排序算法如下,建⽴其计算复杂性递归表达式并求解(15分)。
Public static void mergesort(int [] a, int left, int right){if(left < right){int j = (int)Math.sqrt(right – left + 1);if(j > 1){for(int i = 0; i < j; i++)mergesort(a, left + i*j, left + (i + 1) *j – 1);mergesort(a, left+j*j, right);}mergeall(a, left, right);}}其中,算法mergeall合并n个排好序的数组段。
五、给定图如下,求出最⼩⽣成树以及以顶点1为源的单源最短路径。
(15分)六、证明求最⼤公约数的欧⼏⾥得算法的正确性,并分析其算法复杂性。
(15分)int gcd(int a, int b){if(b = = 0)return a;return gcd(b, a % b);}其中%为求模运算。
七、给定分别有n个元素的两个集合S和T,试设计⼀个判定S和T是否相等的蒙特卡罗算法,并分别就相等和不相等(有⼀个元素不同)两种情形分析算法正确的概率。
算法设计与分析试题
算法设计与分析试题(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《算法设计与分析》期末考试试题(A卷)一、选择题:试题说明:本题包含12个小题,占24分;请将正确答案填写在题目左侧的括号内。
()1、分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者()。
A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同()2、回溯法在解空间树T上的搜索方式是()。
A.深度优先B.广度优先C.最小耗费优先D.活结点优先()3、回溯算法和分支限界法的问题的解空间树不会是()。
A.有序树B.子集树C.排列树D.无序树()4、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()。
A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题()5、从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除()之外都是最常见的方式。
A.队列式分支限界法B.优先队列式分支限界法C.栈式分支限界法D.FIFO分支限界法()6、概率算法是一种非确定性地选择下一计算步骤的方法,力图消除问题复杂性与具体实例间的关联,以下算法暗中适合于求解问题近似解的是()。
A.数值概率算法B.蒙特卡罗算法C.拉斯维加斯算法D.舍伍得算法()7、()能够求得问题的解,但却无法有效地判定解的正确性。
A.数值概率算法B.蒙特卡罗算法C.拉斯维加斯算法D.舍伍得算法()8、下面算法实现的是素数测试,该方法使用的数学原理是()。
A.费尔马小定理B.费尔马定理C.Wilson定理D.二次探测定理()9、以下关于判定问题难易处理的叙述中正确的是()。
A.可以由多项式时间算法求解的问题是难处理的B.需要超过多项式时间算法求解的问题是易处理的C.可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的()10、设f(N)、g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N,使得当N≥N时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的阶()g(N)的阶。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国科学院研究生院
课程编号:
试 题 专 用 纸 课程名称:计算机算法设计与分析
任课教师:陈玉福
———————————————————————————————————————————————
姓名
学号 成绩
一. (共20分,每小题5分) 回答下列问题
1.已知求解问题∏的两个算法12,A A 的时间复杂性函数分别为/21()2n T n n =和
22()log T n n n =。
现在有两台计算机12,C C ,它们的速度比为64。
如果采用算法1A ,计算机1C 求解问题∏的一个实例I 所用的时间为T ,那么,采用算法2A 时,计算机2C 能够在时间T 内求解问题∏的多大输入规模的实例?
2.何谓最优化原理?采用动态规划算法必须满足的条件是什么?动态规划算法是通过什么问题的什么特性提高效率的?
3.阐述回溯算法与分枝限界算法的区别和联系,各自强调改善那方面以提高效率? 4.多项式时间确定性算法与多项式时间非确定性算法的主要区别是什么?
二. (12分) 下面是插入排序算法,试分析它在最坏情况下的时间复杂度和平均时间复杂
度。
插入排序算法
proc InSort (a, n)
for i from 2 to n do t:=a[i]; integer j;
for j from i-1 to 1 do
if t<a[j] then a[j+1]:=a[j]; end{if} end{for} a[j+1]:=t;
end{for} end{InSort}
三. (12分) 用动态规划算法求下图中从顶点0到顶点6的所有最短路径和最长路径。
共 2 页 第 1 页
四. (11 分) 将宽度优先搜索算法中的队列改成栈,其它不变,则得到D -检索算法。
下
面是一个无向图及其邻接链表,试画出图G 的D -检索生成树,并标出各节点被访问的次序号。
无向图G 和它的邻接链表
五. (15分) 有5个物体,其重量分别为3,5,7,8,9,价值分别为4,6,7,9,10。
有
一背包,载重量为22,物体不可分割地往背包里装。
试画出用优先级队列式分枝限界算法LCKNAP 解此0/1背包问题所生成的解空间树,并给出最优解。
六. (共10分,每小题5分) 假定已知“无向图的Hamilton 圈”问题是NP-完全问题.
1. 证明旅行商问题判定模式也是NP-完全问题;
2. 证明旅行商问题优化模式不是NP-完全问题,但是NP 难问题。
共 2 页 第 2 页
A B C D E F G H。