算法设计与分析 试卷B

合集下载

2015年算法分析与设计期末考试试卷B卷

2015年算法分析与设计期末考试试卷B卷

西南交通大学2015 — 2016学年第(一)学期考试试卷课程代码 3244152课程名称 算法分析与设计考试时间 120分钟阅卷教师签字: __________________________________填空题(每空1分,共15分)1、 程序是 (1)用某种程序设计语言的具体实现。

2、 矩阵连乘问题的算法可由(2)设计实现。

3、 从分治法的一般设计模式可以看出,用它设计出的程序一般是(3)4、 大整数乘积算法是用 (4) 来设计的。

5、 贪心算法总是做出在当前看来(5) 的选择。

也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的(6) o6、 回溯法是一种既带有(7)又带有 (8)的搜索算法。

7、 平衡二叉树对于查找算法而言是一种变治策略,属于变治思想中的 (9)类型8、 在忽略常数因子的情况下,0、门和0三个符号中,(10)提供了算法运行时间的一个上界。

9、 算法的“确定性”指的是组成算法的每条(11)是清晰的,无歧义的。

10、 冋题的(12) 是该冋题可用动态规划算法或贪心算法求解的关键特征。

11、 算法就是一组有穷(13),它们规定了解决某一特定类型问题的(14) o12、 变治思想有三种主要的类型:实例化简,改变表现,(15) o、___________________________________________________________________________________ L线订装封密线订装封密、__________________ 二 线订装封密级班选择题(每题2分,共20 分)1、二分搜索算法是利用()实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、衡量一个算法好坏的标准是()。

A、运行速度快B、占用空间少C、时间复杂度低D、代码短3、能采用贪心算法求最优解的问题,一般具有的重要性质为:()A.最优子结构性质与贪心选择性质 B •重叠子问题性质与贪心选择性质C •最优子结构性质与重叠子问题性质 D.预排序与递归调用4、常见的两种分支限界法为()A、广度优先分支限界法与深度优先分支限界法;B、队列式(FIFO )分支限界法与堆栈式分支限界法;C 、排列树法与子集树法;D、队列式(FIFO )分支限界法与优先队列式分支限界法;5、实现循环赛日程表利用的算法是()A、分治策略B、动态规划法C、贪心法D、回溯法6、回溯法的效率不依赖于下列哪些因素()A. 满足显约束的值的个数B. 计算约束函数的时间C. 计算限界函数的时间D. 确定解空间的时间7、A、子问题必须是一样的C、子问题的解可以合并8、实现合并排序利用的算法是(A、分治策略B、动态规划法B、子问题不能够重复D、原问题和子问题使用相同的方法解)。

算法设计与分析期末考试B卷

算法设计与分析期末考试B卷

大学期末考试试卷B 卷(算法设计与分析)一、选择题(30分,每题2分)1、下面的算法段针对不同的自然数n 作不同的处理,其中函数odd (n) 当n 是奇数时返回true ,否则返回false ,while ( n > 1) if ( odd (n) ) n = 3 * n + 1;else n = n / 2;请问该算法所需计算时间的下界是 。

A .Ω(2n ) B .Ω(nlog n ) C .Ω(n !) D .Ω(logn )2、某体育馆有一羽毛球场出租,现在总共有10位客户申请租用此羽毛球场,每个客户所租用的时间单元如下同一时刻,该羽毛球场只能租借给一位客户,请问在这10位客户里面,体育馆最多能满足 位客户的需求。

P104 A .3 B .4 C .5 D .63、当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可以使用 来消除或减少问题的好坏实例间的这种差别。

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 )= 。

A .q (8,8) B .1 + q (9,9) P12 C .2 + q (10,8) D .A ,B ,C 都正确5、对于含有n 个元素的子集树问题,最坏情况下其解空间的叶结点数目为 。

A .n!B .2nC .2n+1-1D .∑=ni i n 1!/! P1406、在棋盘覆盖问题中,对于2k ×2k 的特殊棋盘(有一个特殊方块),所需的L 型骨牌的个数是 A 。

最新算法分析与设计期末考试试卷B卷

最新算法分析与设计期末考试试卷B卷

西南交通大学2015-2016学年第(一)学期考试试卷课程代码 3244152 课程名称 算法分析与设计 考试时间 120 分钟阅卷教师签字:一、 填空题(每空1分,共15分)1、 程序是 (1) 用某种程序设计语言的具体实现。

2、 矩阵连乘问题的算法可由 (2) 设计实现。

3、 从分治法的一般设计模式可以看出,用它设计出的程序一般是 (3) 。

4、 大整数乘积算法是用 (4) 来设计的。

5、贪心算法总是做出在当前看来 (5) 的选择。

也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的 (6) 。

6、 回溯法是一种既带有 (7) 又带有 (8) 的搜索算法。

7、 平衡二叉树对于查找算法而言是一种变治策略,属于变治思想中的 (9) 类型。

8、在忽略常数因子的情况下,O 、Ω和Θ三个符号中, (10) 提供了算法运行时间的一个上界。

9、算法的“确定性”指的是组成算法的每条 (11) 是清晰的,无歧义的。

10、 问题的 (12) 是该问题可用动态规划算法或贪心算法求解的关键特征。

11、 算法就是一组有穷 (13) ,它们规定了解决某一特定类型问题的 (14) 。

12、 变治思想有三种主要的类型:实例化简,改变表现, (15) 。

二、 选择题(每题2分,共20分)1、二分搜索算法是利用( )实现的算法。

A 、分治策略B 、动态规划法C 、贪心法D 、回溯法 2、衡量一个算法好坏的标准是( )。

A 、运行速度快B 、占用空间少C 、 时间复杂度低D 、代码短 3、能采用贪心算法求最优解的问题,一般具有的重要性质为:( ) A. 最优子结构性质与贪心选择性质 B .重叠子问题性质与贪心选择性质班 级 学 号 姓 名密封装订线 密封装订线 密封装订线C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用4、常见的两种分支限界法为()A、广度优先分支限界法与深度优先分支限界法;B、队列式(FIFO)分支限界法与堆栈式分支限界法;C、排列树法与子集树法;D、队列式(FIFO)分支限界法与优先队列式分支限界法;5、实现循环赛日程表利用的算法是()。

《算法设计与分析》考试题目及答案(DOC)

《算法设计与分析》考试题目及答案(DOC)
}
Hanoi 塔
D. void hanoi(int n, int C, int A, int B) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); }
3. 动态规} 划算法的基本要素为(C) A. 最优子结构性质与贪心选择性质 B.重叠子问题性质与贪心选择性质 C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用
(排列树)算法框架。 8. 用回溯法解 0/1 背包问题时,该问题的解空间结构为(子集树)结构。 9.用回溯法解批处理作业调度问题时,该问题的解空间结构为(排列树)结
构。 10.用回溯法解 0/1 背包问题时,计算结点的上界的函数如下所示,请在空
格中填入合适的内容:
Typep Knap<Typew, Typep>::Bound(int i) {// 计算上界
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))
6. 能采用贪心算法求最优解的问题,一般具有的重要性质为:(A) A. 最优子结构性质与贪心选择性质 B.重叠子问题性质与贪心选择性质
《算法分析与设计》期末复习 法则的流水作业调度采用的算法是(D)
A. 贪心算法
B. 分支限界法 C.分治法
D. 动态规划算法
2.Hanoi 塔问题如下图所示。现要求将塔座 A 上的的所有圆盘移到塔座 B 上, 并仍按同样顺序叠置。移动圆盘时遵守 Hanoi 塔问题的移动规则。由此设计出 解 Hanoi 塔问题的递归算法正确的为:(B)

华南师范大学算法设计与分析AB卷及答案

华南师范大学算法设计与分析AB卷及答案

27 13
31
18 45
16 17
53
五、 动态规划法的应用(15 分) 考虑用算法 MATCHAIN 矩阵链相乘的方法把下面的 4 个矩阵相乘,
M 1 : 4 × 5, M 2 : 5 × 3, M 3 : 3 × 6, M 4 : 6 × 4, M 5 : 4 × 5
A2-
C[1,1]=0 C[1,2]=60 C[1,3]=132 C[1,4]=180
C[1,5]=252
M1
M 1M 2
C[2,2]=0
(M 1 M 2 )M 3
C[2,3]=90
(M 1 M 2 )(M 3 M 4 ) (M 1 M 2 )((M 3 M 4 ) M 5 )
六、 贪心算法的应用(10 分) 在下面的有向图中应用算法 DIJSTRA,假设顶点 1 是起始顶点。
9 7
2 1 12 3
2
4 2
8 6 4
3
5
5
七、 回溯法的应用(20 分) 1、请描述回溯算法的一般步骤。 2、在回溯法的应用的综合性实验中,您选做了哪一道题目,请简要叙述你是 如何用回溯法解决这个问题的,即给出该问题下回溯法的几个要素。 3、谈谈你在这次综合实验中的收获和感想。
∞ 14 14 14
七、 回溯法的应用(20 分) 1、请描述回溯算法的一般步骤。 (6 分) 2、在回溯法的应用的综合性实验中,您选做了哪一道题目,请简要叙述你是如 何用回溯法解决这个问题的,即给出该问题下回溯法的几个要素。 (9 分) 3、谈谈你在这次综合实验中的收获和感想。 (5 分) 1、回溯法一般步骤包括以下几点: (每答对 1 点给 2 分,此问 6 分) 1)将解空间表示成一棵树(解空间树) ,求解问题就转化为在树 T 中搜索解 对应的树结点; 2)定义剪枝操作(需考虑约束条件和目标值两方面) ; 3)从树 T 的根结点开始,用深度优先法搜索该树,而跳过肯定不包含问题 解对应的结点的子树的搜索(剪枝) ,以提高效率。 2、解空间描述正确给 5 分,剪枝操作描述正确给 4 分,总体描述正确酌情给分。 (9 分) 3、根据回答的实际情况酌情给分。 (5 分)

(完整word版)计算机算法设计分析试题及答案

(完整word版)计算机算法设计分析试题及答案

算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。

2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。

3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。

(2)_______。

(3)_______。

(4)根据计算最优值得到的信息,_______。

4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i|ai>=bj};(2)将N1中作业依ai的___。

5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。

6、最优二叉搜索树即是___的二叉搜索树。

二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)3、最大子段和问题的简单算法(10分)int maxsum(int n,int *a,int & bestj){intsum=0;for (int i=1;i<=n;i++)for (int j=i;j<=n;j++)int thissum=0;for(int k=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}return sum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分)Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) {for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;r<n;r++)for(int i=1;i<=n-r;i++){int j=i+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=______;s[i][j]=i;for(int k=i+1;k<=j;k++){int t=m[i][k-1]+m[k+1][j];if(_____) {m[i][j]=t; s[i][j]=k;}}m[i][j]=t; s[i][j]=k;}}5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式? (10分)3、0——1背包求最优值的步骤分为哪几步?(10分)参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算出最优值构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}最小平均查找长度综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]法一:min(ai,bj)<=min(aj,bi)因为min(a1,b2)<=min(a2,b1)所以1→2 (先1后2)由min(a1,b3)<=min(a3,b1)得1→3 (先1后3)同理可得:最后为1→3→4→2法二:johnson算法思想N1={1,3,4} N2={2}N¹1={1,3,4} N¹2={2}所以 N¹1→N¹2得:1→3→4→2简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。

算法设计与分析参考试卷

算法设计与分析参考试卷

算法设计与分析参考试卷此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……算法设计与分析参考试卷一、单项选择题1. 当输入规模为n时,下列算法渐进复杂性中最低的是(A )。

.A. 5nB. n2C. 2n2D. n! 2.二分搜索算法是利用(A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法 3.最大效益优先是( A )的一种搜索方式。

A.分支界限法 B.动态规划法 C.贪心法 D.回溯法4. 回溯法搜索状态空间树是按照( C )的顺序。

A.中序遍历 B.广度优先遍历 C.深度优先遍历 D.层次优先遍历……此…处…不能…书…写…线…………………………………订……5. 回溯法解旅行售货员问题时的解空间树是( B )。

A、子集树树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法法7.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法B、动态规划法C、贪心法D、回溯B、排列树C、深度优先生成树D、广度优先生成…8.快速排序算法是利用( A )实现的算法。

A.分治策略 B.动态规划法 C.贪心法 D.回溯法此处不能书写…二、填空题1. 通俗地讲,算法是指解决问题的一种方法或一个过程。

2.出于“平衡子问题”的思想,通常分治法在分解原问题时,形成若干子问题,这些子问题的规模都大致相同。

三、简答题1.简述单源最短路径问题,该问题适合采用什么方法求解。

第 1 页共 9 页…………………………此处不能书写……一、问题单源最短路径问题[Dijkstra实现]带权有向图G(E,V), 找出从给定源顶点s到其它顶点v的权最小路径。

“最短路径” = 最小权二、问题求解:求1到5的最短路径值?三、执行过程:如果大家对这个问题的要求还不是很明白的话那么我再带着大家走一遍:第2页共9页此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……第一次:从1-->2:10 此时从1-->3没有路径所有是无穷大 1-->4:30 1-->5:100那么我们发现这一组组最小的是10也就是2这一点,所以我们再把2这一点加到集合里面来,那么2这一点就可以当作一个桥来用,第二次:此时我们再从1à3就可以通过1-->2-->3:60其他的1-->4:301-->5:100 可以发现此时最小的应该是3,所以我们再把3这一点加入到这个集合里面来,如此重复的去做这些事情,到最后可以发现1à5的最短路径应该是60(1-->4-->3-->5)1. int dijkstra(int s,int t) {2.3. 初始化S={空集}4.5. d[s] = 0; 其余d值为正无穷大6.7. while (NOT t in S) 8.9. { 10.11. 取出不在S中的最小的d[i]; 12.13. for (所有不在S中且与i相邻的点j) 14.15. if (d[j] > d[i] + cost[i][j]) d[j] = d[i] + cost[i][j]; (“松弛”操作” ) 16.17. S = S + {i}; //把i点添加到集合S里 18.19. } 20.21. return d[t]; 22. 23. }……此…处…不能…书…写…线…………………………………订………此处不能书写…2.二分搜索要解决什么问题?二分搜索如何体现分治的思想? 简述二分搜索算法的步骤.…………………………此处不能书写查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最折第 3 页共 9 页……半坏的情况下用O(log n)完成搜索任务。

算法设计与分析(试题B卷)

算法设计与分析(试题B卷)

《算法设计与分析》答卷说明: 1、考试方式闭卷2、满分100分题号一二三四五六七总分总分人分数得分评卷人一、单项选择题(每小题2分,共20分)1、下面关于NP问题说法正确的是()。

A 、NP问题都是不可能解决的问题B 、P类问题包含在NP类问题中C 、NP完全问题是P类问题的子集D 、NP类问题包含在P类问题中2、能采用贪心算法求最优解的问题,一般具有的重要性质为:()A、最优子结构性质与贪心选择性质B、重叠子问题性质与贪心选择性质C、最优子结构性质与重叠子问题性质D、预排序与递归调用3、实现合并排序利用的算法是()。

A、分治策略B、动态规划法C、贪心法D、回溯法4、以下不可以使用分治法求解的是()。

A、棋盘覆盖问题B、选择问题C、归并排序D、0/1背包问题5、记号O的定义正确的是()。

A、O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ f(n) ≤cg(n) };B、O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ cg(n) ≤f(n) };C、O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n>0使得对所有n≥n0有:0 ≤f(n)<cg(n) };D、O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n>0使得对所有n≥n0有:0 ≤cg(n) < f(n) };6、使用分治法求解不需要满足的条件是()。

A、子问题必须是一样的B、子问题不能够重复C、子问题的解可以合并D、原问题和子问题使用相同的方法解7、以下关于渐进记号的性质是正确的有:()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))=⇔=8、衡量一个算法好坏的标准是()。

算法分析与设计试题及答案

算法分析与设计试题及答案

算法分析与设计试题及答案一、选择题1. 下列哪个是属于分治算法的例子?A. 冒泡排序B. 归并排序C. 顺序查找D. 选择排序答案:B2. 在排序算法中,时间复杂度最优的是:A. 冒泡排序B. 插入排序C. 归并排序D. 快速排序答案:C3. 哪个不是动态规划的特点?A. 具有重叠子问题B. 通过递归求解C. 需要保存子问题的解D. 具有最优子结构答案:B4. 在图的广度优先搜索算法中,使用的数据结构是:A. 栈B. 队列C. 数组D. 堆栈答案:B5. 在最小生成树算法中,下列哪个不属于贪心策略?A. Kruskal算法B. Prim算法C. Dijkstra算法D. Prim-Kruskal混合算法答案:C二、简答题1. 请简述分治算法的思想和应用场景。

答案:分治算法的思想是将原问题分解成若干个规模较小且类似的子问题,然后解决子问题,最后将子问题的解合并得到原问题的解。

其应用场景包括排序算法(如归并排序、快速排序)、搜索算法(如二分查找)等。

2. 什么是动态规划算法?请给出一个动态规划算法的示例。

答案:动态规划算法是一种通过将问题分解成子问题并解决子问题来解决复杂问题的方法。

它的特点是具有重叠子问题和最优子结构性质。

以斐波那契数列为例,可以使用动态规划算法求解每一项的值,而不需要重复计算。

3. 图的深度优先搜索和广度优先搜索有什么区别?答案:图的深度优先搜索(Depth First Search,DFS)是一种先访问子节点再访问兄弟节点的遍历算法,通常使用递归或者栈实现。

而广度优先搜索(Breadth First Search,BFS)则是以层次遍历的方式展开搜索,使用队列来实现。

DFS更适合用于搜索路径,BFS则适用于寻找最短路径等。

4. 请简述贪心算法的特点及其应用场景。

答案:贪心算法的特点是每一步都采取当前状态下最优的选择,以期望得到全局最优解。

然而,贪心算法并不一定能求解所有问题的最优解,但对于一些特定问题,贪心算法往往能得到近似最优解。

数据结构与算法设计与分析考核试卷

数据结构与算法设计与分析考核试卷
答案:______
8.在冒泡排序中,每一趟排序都能确定一个元素的最终位置。()
答案:______
9. Prim算法和Kruskal算法都可以用来求解最小生成树问题,但Prim算法总是从某一顶点开始,而Kruskal算法总是从某一权值最小的边开始。()
答案:______
10.在一个递归算法中,如果递归调用不是算法的最后一个操作,那么这种递归称为尾递归。()
B.邻接表适合表示稀疏图
C.邻接多重表适合表示无向图
D.邻接表和邻接多重表适合表示有向图
14.以下哪些算法属于分治算法?()
A.快速排序
B.归并排序
C.二分查找
D.动态规划
15.以下哪些情况下,动态规划比贪心算法更适合解决问题?()
A.存在重叠子问题
B.问题具有最优子结构
C.需要考虑所有可能的选择
D.问题可以通过局部最优达到全局最优
C.插入一个节点
D.查找某个节点
5.以下哪些算法可以用于解决最小生成树问题?()
A. Kruskal算法
B. Prim算法
C. Dijkstra算法
D. Bellman-Ford算法
6.以下哪些数据结构可以用来实现堆?()
A.数组
B.链表
C.栈
D.队列
7.关于图的深度优先遍历和广度优先遍历,以下哪些说法是正确的?()
________________________________
2.动态规划算法通常用于解决最优化问题,请阐述动态规划算法的三个基本要素,并给出一个动态规划问题的实例。
________________________________
________________________________

算法设计与分析(第二版)王红梅试题及解析

算法设计与分析(第二版)王红梅试题及解析

算法设计与分析(第二版)王红梅试题及解析本文主要介绍了《算法设计与分析(第二版)》一书中的王红梅试题及解析,旨在帮助读者更好地掌握算法的基础知识,提高算法设计与分析的能力。

一、算法设计与分析算法是计算机科学的重要组成部分,是解决计算问题的一种方法。

算法设计与分析是计算机科学的一项核心技术,也是计算机科学专业必修的一门课程。

算法的好坏将直接影响计算机程序的运行效率。

王红梅编写的《算法设计与分析(第二版)》是一本通俗易懂的教材,作者通过详细解析算法设计和分析的基本概念和方法,给出了很多数学原理和实例,帮助读者深刻理解算法设计和分析的基本原则和方法。

二、王红梅试题及解析1. 下面哪个算法的时间复杂度最小?A. 插入排序B. 选择排序C. 冒泡排序D. 快速排序答案:D解析:快速排序是一种分治算法,基于递归的思想进行排序,每次划分找到一个基准点,将比基准点小的数放到左边,比基准点大的数放到右边,递归进行排序,因此它的时间复杂度为O(nlogn),是四种算法中最小的。

2. 下列哪些数据结构可以用来实现递归算法?A. 数组B. 栈C. 队列D. 链表答案:B、D解析:递归算法通常使用栈和链表来实现,因为它们具有后进先出或者先进先出的特点,符合递归算法的调用过程。

3. 下列哪个算法不是稳定排序?A. 插入排序B. 冒泡排序C. 归并排序D. 堆排序答案:D解析:稳定排序表示排序后,具有相同值得元素,排序前后其相对位置不变。

插入排序、冒泡排序和归并排序都是稳定排序算法,只有堆排序不是稳定排序算法。

4. 设有n个元素的数组,采用冒泡排序,平均比较次数和平均移动次数分别是多少?答案:平均比较次数为n(n-1)/2,平均移动次数为3 n(n-1)/4。

解析:冒泡排序的平均时间复杂度为O(n²)。

在n个元素的数组中,每个元素最多需要比较n-1次,所以平均比较次数为(n-1 + n-2+ ... + 1) / n (n-1) / 2 = n(n-1)/2。

08—09年期末考试算法设计与分析试卷B及答案

08—09年期末考试算法设计与分析试卷B及答案

附表5: 、⑴ 证明:令2分) .。

( 令 ⑵ 解:① 的渐近表达式。

② 因为:由渐近表达式的定义易知 2、解:经分析结论为 (1) (2); (3);3、解:用分治法求解的算法代码如下: { a [p]=a [j ]; return j ;…………………………….。

(7分)考试课程: 班级: 姓名: 学号:------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------}void Quicksort( float a[], int p,int r ){if(p〈r){int q=partition(a,p,r);……………………………。

(10分)Quicksort(a,p,q—1);Quicksort(a,q+1,r);}};Quicksort(a,0,n-1);……………………………。

.(13分)4、解:用动态规划算法求解的算法代码如下:int lcs_len(char *a,char *b,int c[][N]){int m=strlen(a),n=strlen(b),i,j;for(i=0;i〈=m;i++) c[i][0]=0;for(j=1;j〈=n;j++)c[0][j]=0;…………………………….。

(4分)for(i=1;i<=m;i++)for(j=1;j<=n;j++)if(a[i—1]= =b[j-1])c[i][j]=c[i—1][j—1]+1;else if(c[i-1][j]>=c[i][j—1])c[i][j]=c[i-1][j];else c[i][j]=c[i][j-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.快速排序法的基本思想是重新排列关键字, 把一个文件分成两个文件, 使得第一个文件中所有元素均小于第二个文件中的元素;然后再对两个子文件进行同样的处理。

算法试卷

算法试卷

算法设计与分析课程试题一一、选择题1.选出不是算法所必须具备的特征()。

A有穷性B确切性C高效性D可行性2.下列()不是衡量算法的标准。

A 时间效率B 空间效率C 问题的难度D 适应能力3.与递推关系x(n)=2x(n-1)+1,x(1)=1等价的通项公式为()。

A x(n)=2nB x(n)=2n-1C x(n)=2n+1D x(n)=n!4.二维最近邻点问题,如果使用分治法,对于一个子集上的某一点,另一个子集上需要检查的点的个数是()。

A 1个B 2个C 6个D 8个5.下列是动态规划算法基本要素的是()。

A 最优子结构B构造最优解 C 贪心选择因子D界限函数6.()算法应用到广度优先遍历策略。

A 分支界限法B 动态规划法C分治法D回溯法7.Prim算法求最小生成树采用的是()算法思想。

A 贪心算法B 动态规划法C 回溯法D 蛮力法11.三个盘子的汉诺塔,至8.对于凸集下列说法正确的是()。

A 凸集中的所有点都属于凸包;B 凸集中任意两点的连线都在凸中;C 凸集中任意两点的连线都不在凸集中;D一个点集如果不是凸集,则点集中任意两点的连线都不在凸集中少9.对多段图问题描述不正确的是:;A、多段图是一个无向图B、可用向前处理法;C、可用向后处理法;D、可用分治法解决。

10.以下对回溯法描述正确的是:;A、解必须表示成一个2n-元组(x1,x1,x2,x2,﹒﹒﹒,x n,x n);B、回溯法的解必须满足一组综合的约束条件,称为解函数;C、满足显示约束的所有元组不能确定一个可能的解空间,D、隐式约束描述了元组中元素x i必须彼此相关的情况。

二、填空1.算法区别于程序:。

2.递推公式x(n)=x(n-1)+n,x(0)=0,x(n)= 。

3..按分治策略求解棋盘覆盖问题时,对于如图1所示的23×23的特殊棋盘,共需要____个L型骨牌;并在棋盘上填写L型骨牌的覆盖情况。

+ + - + - +++ - - - - + - + + + -- + + - - + -- - +图1 棋盘覆盖 图2 符号三角形4.对下述五个文件用贪心方法进行最优归并:文件x 1,x 2,x 3,x 4和x 5分别有18,24,8,6和28个记录;则文件移动的最少次数为:。

算法设计与分析试题及答案

算法设计与分析试题及答案

1. 按分治策略求解棋盘覆盖问题时,对于如图所示的24×24的特殊棋盘,共需要多少个L 型骨牌;并在棋盘上填写L 型骨牌的覆盖情况。

2. 假设有7个物品,给出重量和价值。

若这些物品均不能被分割,且背包容量M =140,使用回溯方法求解此0-1背包问题。

请画出状态空间搜索树。

3. 假设有7个物品,它们的重量和价值如下表所示。

若这些物品均可以被分割,且背包容量M=140,使用贪心算法求解此背包问题。

请写出求解策略和求解过程。

W (35,30,50,60,40,10,25)p (10,40,30,50,35,40,30)4. 在给出的电路板中,阴影部分是已作了封锁标记的方格,请按照队列式分支限界法在图中确定a 到b 的最短布线方案,要求布线时只能沿直线或直角进行,在图中标出求得最优解时各方格情况。

5. 画出字符表的哈夫曼编码对应的二叉树。

6. 已知1()*()i i k k ij r r A a +=,k =1,2,3,4,5,6,r 1=5,r 2=10,r 3=3,r 4=8,r 5=5,r 6=20,r 7=6,求矩阵链积A 1×A 2×A 3×A 4×A 5×A 6的最佳求积顺序。

7. 给出城市网络图,售货员要从城市1出发,经过所有城市回到城市1,画出该问题的解空间树,描述出用优先队列式分支限界法求解时的搜索情况。

表示出优先队列、当前扩展结点等的变化情况。

8. 依据优先队列式分支限界法,求从s 点到t 点的单源最短路径,画出求得最优解的解空间树。

一、假设有7个物品,它们的重量和价值如下表所示。

若这些物品均不能被分割,且背包容量M=150,使用回溯方法求解此背包问题。

请写出状态空间搜索树(20分)。

答:按照单位效益从大到小依次排列这7个物品为:FBGDECA 。

将它们的序号分别记为1~7。

则可生产如下的状态空间搜索树。

其中各个节点处的限界函数值通过如下方式求得:【排序1分】5x =6x =7x =17分,每个节点1分】a .1501154040305035190.62540-++++⨯= 7(1,1,1,1,,0,0)8b. 1501154040305030177.560-++++⨯=7(1,1,1,1,0,,0)12c .4040305010170++++=(1,1,1,1,0,0,1)d. 1501054040303530167.560-++++⨯= 3(1,1,1,0,1,,0)4e. 150130404050353017560-++++⨯=1(1,1,0,1,1,,0)3f. 1501304040503510170.7135-++++⨯=4(1,1,0,1,1,0,)7g. 40405030160+++=(1,1,0,1,0,1,0)h. 1501404040353010146.8535-++++⨯= 2(1,1,0,0,1,1,)7i.1501254030503530167.560-++++⨯=5(1,0,1,1,1,,0)12 j. 1501454030503530157.560-++++⨯=1(0,1,1,1,1,,0)12在Q 1处获得该问题的最优解为(1,1,1,1,0,0,1),背包效益为170。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《算法设计与分析》试卷(B卷)
1、证明:(15分)
答案要点:定义
f(n) = O(g(n))if ∃c > 0, n0 > 0 s.t. ∀n≥n0: f(n) ≤c⋅g(n)
2、合并排序的算法如下,请分析其运算开销的表达式并计算出结果;(15分)Merge-Sort(A, p, r)
if p < r then
q← ⎣(p+r)/2⎦
Merge-Sort(A, p, q)
Merge-Sort(A, q+1, r)
Merge(A, p, q, r)
注:P和r分别为数组A中的第1个和最后一个元素的下标。

参考答案:
T(n)=nlog(n)
3、计数排序的算法如下,请写出输入数据为A(A中方框内的小数字表示相同
元素出现的次序),n=8,k=5时,算法运算结结束时B和C的值,填写在空格中。

(20分)
COUNTING-SORT(A, B, n, k)
1.for i ←0 to k
2.do C[ i ] ←0
3.for j ←1 to n
4.do C[A[ j ]] ←C[A[ j ]] + 1
5. for i ← 1 to k
6. do C[ i ] ← C[ i ] + C[i -1]
7. for j ← n down to 1
8. do B[C[A[ j ]]] ← A[ j ] 9. C[A[ j ]] ← C[A[ j ]] – 1
答案:
4、 令n a a A 1=和m b b B 1=是两个字符串,令],[j i C 表示它们最长公共子序列的长度,请应用动态规划策略,求出],[j i C 的递推式。

(15分) 参考答案:
5、对下图进行深度优先搜索(从S 开始),并给出拓朴排序结果。

(15分)
参考答案:
2InitializeSingleSource(G,s)
3for each vertex u, taken in topological order 4do for each vertex v adj[u]
5do Relax(u,v,w)
s
z
y
x
t
1/10
2/7
3/4
5/6
8/9
7
2-2
6
7
8∞∞∞

6、利用全成对最短路径算法,求下图的全成对最短路径,填写在表格中。

(20分)
答案:。

相关文档
最新文档