算法设计与分析试卷

合集下载

算法设计分析期中试题

算法设计分析期中试题

《算法设计与分析》期中试卷一、叙述分治算法的基本思想及一般算法设计模式;二、叙述动态规划算法的基本步骤及动态规划算法的基本要素;三、改进课本P74的Lcs算法,使改进算法不用数组b亦可在O(m+n)的时间内构造最长公共序列;四、求下列函数的渐近表达式(1). 3n2+10n(2).n2/10+2n(3)21+1/n(4)logn3(5)10log3n五、对于下列各组函数发f(n)和g(n),确定f(n)=O((g(n)))或者f(n)= ((g(n)))或者f(n)=θ((g(n))),并简述理由(1). f(n)=logn2 , g(n)=logn+5;(2). f(n)=logn2 , g(n)= √n;(3), f(n)=n, g(n)= logn2;(4). f(n)=nlogn+n,g(n)=logn;(5). f(n)=10.g(n)=log10;(6). f(n)=log2n g(n)=logn(7). f(n)=2n g(n)= 3n;(8). f(n)=2n g(n)= 100n2;六、设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当搜索元素x不再数组中时,返回小于x的最大元素位置i和大于x 的最小元素位置j。

当搜索元素在数组中时,i和j相同,均为x 在数组中的位置七、设a[0:n-1]是有n个元素的数组,k(0<=k<=n-1)是非负整数。

试设计一个算法将子数组a[0:k]与a[k+1:n-1]换位。

要求算法在最坏的情况下耗时O(n),且只用到O(1)的辅助空间。

八、在一个由元素组成的表中出现次数最多的元素称为众数。

试写一个寻找众数的算法,并分析其计算复杂性。

九、设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。

十、给定n中物品和一背包,物品i的重量是ω,体积是b i,其价值为v i ,背包的容量为C,容积为D。

问:应该如何选择装入背包中的物品,使得装入背包中的物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i。

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

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

算法设计与分析1、(1) 证明:O(f)+O(g)=O(f+g)(7分)(2) 求下列函数的渐近表达式:(6分)① 3n 2+10n;② 21+1/n;2、对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=θ(g(n)),并简述理由。

(15分)(1);5log )(;log )(2+==n n g n n f (2);)(;log )(2n n g n n f == (3);log )(;)(2n n g n n f == 3、试用分治法对数组A[n]实现快速排序。

(13分)4、试用动态规划算法实现最长公共子序列问题。

(15分)5、试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n 公里,而旅途中有若干个加油站。

试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少。

(12分)6、试用动态规划算法实现下列问题:设A 和B 是两个字符串。

我们要用最少的字符操作,将字符串A 转换为字符串B ,这里所说的字符操作包括:(1)删除一个字符。

(2)插入一个字符。

(3)将一个字符改为另一个字符。

将字符串A 变换为字符串B 所用的最少字符操作数称为字符串A 到B 的编辑距离,记为d(A,B)。

试设计一个有效算法,对任给的两个字符串A 和B ,计算出它们的编辑距离d(A,B)。

(16分)⎣⎦2/)(;3)(i i g i i f ==。

对于给定的两个整数n 和m ,要求用最少的变换f 和g 变换次数将n 变为m 。

(16分)1、⑴证明:令F(n)=O(f),则存在自然数n 1、c 1,使得对任意的自然数n ≥n 1,有:F(n)≤c 1f(n)……………………………..(2分)同理可令G(n)=O(g),则存在自然数n 2、c 2,使得对任意的自然数n ≥n 2,有:G(n)≤c 2g(n)……………………………..(3分)令c 3=max{c 1,c 2},n 3=max{n 1,n 2},则对所有的n ≥n 3,有: F(n)≤c 1f(n)≤c 3f(n)G(n)≤c 2g(n)≤c 3g(n)……………………………..(5分) 故有:O(f)+O(g)=F(n)+G(n)≤c 3f(n)+c 3g(n)=c 3(f(n)+g(n)) 因此有:O(f)+O(g)=O(f+g)……………………………..(7分) ⑵ 解:① 因为;01033)103(lim 222=+-+∞→n n n n n n 由渐近表达式的定义易知: 3n 2是3n 2+10n 的渐近表达式。

算法设计与分析 期末试卷 A卷 完整含答案

算法设计与分析 期末试卷 A卷 完整含答案

装订线华南农业大学期末考试试卷(A卷) 2012学年第1学期 考试科目:算法设计与分析考试类型:(闭卷)考试 考试时间:120 分钟学号姓名年级专业题号一(20) 二(25) 三(16) 四(24) 五(15) 总分得分评阅人说明:(1)请勿漏填学号姓名等信息。

本试卷仅一份,请将答案直接填于试卷上,莫将试卷当草稿,想好了再写,若空白的位置不够,标注清楚后可以写反面;(2)答题时,对算法的描述可以采用文字、公式、图、伪代码、实例说明等混合形式。

请注意表达应条理清晰,思想简洁,勿长篇累述不得要领。

得分一、填空题(1~3题每空1分,第4题每空2分,共20分,结果直接填于划线处)1、化简下面f(n)函数的渐进上界表达式。

(5分)nnnf32/)(21,则____)(_________))((1OnfO322)(nnf,则____)(_________))((2OnfO33log)(nnf ,则____)(_________))((3OnfO2log42)(nnf ,则____)(_________))((4OnfOnnf3log)(5,则____)(_________))((5OnfO参考解答:)3())((1nOnfO ;)2())((2nOnfO ;)(log))((3nOnfO ;)())((24nOnfO ;)())((5nOnfO 。

2、用大O符号和关于n的渐进函数来表征如下算法Loop1至Loop3的运行时间。

(3分)算法1:O( );算法2:O( );12算法3:O( )参考解答:算法1:)(2n O ;算法2:)(3n O ;算法3:)(4n O 。

3、假设算法A 的计算时间为n n T 2)( ,现在一慢一快的两台计算机上测试算法A ,为解决规模n 的问题慢机运行算法A 花费t 秒,而另一台快机速度是慢机的256倍,则在快机上算法A 同样运行t 秒能解决n1规模,则n1和n 的关系为:n1= ;若算法B 的计算时间为2)(n n T ,其余条件不变,则n1= 。

算法设计与分析期末考试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 。

计算机算法设计与分析 试题

计算机算法设计与分析 试题

计算机算法设计与分析期末试题一。

选择题1、二分搜索算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是( B )。

A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是( A )。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是(C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。

A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

29.1算法设计与分析课程期末试卷-a卷(自测 ) (2)(1)

29.1算法设计与分析课程期末试卷-a卷(自测 ) (2)(1)

华南农业大学期末考试试卷(A卷)2008学年第一学期考试科目:算法分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、选择题(20分,每题2分)1.下述表达不正确的是。

A.n2/2 + 2n的渐进表达式上界函数是O(2n)B.n2/2 + 2n的渐进表达式下界函数是Ω(2n)C.logn3的渐进表达式上界函数是O(logn)D.logn3的渐进表达式下界函数是Ω(n3)2.当输入规模为n时,算法增长率最大的是。

A.5n B.20log2n C.2n2 D.3nlog3n3.T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是。

A.T(n)= T(n – 1)+1,T(1)=1 B.T(n)= 2n2C.T(n)= T(n/2)+1,T(1)=1 D.T(n)= 3nlog2n4.在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨牌的个数是。

A.(4k– 1)/3 B.2k /3 C.4k D.2k5.在寻找n个元素中第k小元素问题中,若使用快速排序算法思想,运用分治算法对n个元素进行划分,应如何选择划分基准?下面答案解释最合理。

A.随机选择一个元素作为划分基准B.取子序列的第一个元素作为划分基准C.用中位数的中位数方法寻找划分基准D.以上皆可行。

但不同方法,算法复杂度上界可能不同6.有9个村庄,其坐标位置如下表所示:现在要盖一所邮局为这9个村庄服务,请问邮局应该盖在才能使到邮局到这9个村庄的总距离和最短。

A.(4.5,0)B.(4.5,4.5)C.(5,5)D.(5,0)7.n个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水,水流恒定。

如下说法不正确?A.让水桶大的人先打水,可以使得每个人排队时间之和最小B.让水桶小的人先打水,可以使得每个人排队时间之和最小C.让水桶小的人先打水,在某个确定的时间t内,可以让尽可能多的人打上水D.若要在尽可能短的时间内,n个人都打完水,按照什么顺序其实都一样8.分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。

算法设计与分析 期末试卷 A卷(完整含答案)

算法设计与分析 期末试卷 A卷(完整含答案)
因此: m[1][4] 8000
4、操场上摆放一行共n堆石头,呈直线排列。n堆石子从左到右方向编号为1~n,每堆石子 个数分别为a[1],…,a[n],现在要将石子有次序的合并为一堆,规定每次只能选相邻的2堆合 并为新的一堆,并将新的一堆的石子数记为该次合并的得分,经过n-1次合并,最终合并为 一堆,总得分为n-1次合并得分之和。现要设计一个算法,计算出将一行的n堆石子合并为一 堆的最小得分。这里假设m[i,j]为合并石子Ai…Aj, 1≤i≤j≤n,所得到的最小得分。请写出 m[i,j]的递推公式。 (5分)
3
m[1][3] min{m[1][1] m[2][3] p0 p1 p3 , m[1][2] m[3][3] p0 p2 p3} 7500; m[2][4] min{m[2][2] m[3][4] p1 p2 p4 , m[2][3] m[4][4] p1 p3 p4 } 5000;
则 O( f 2 (n)) O(_____________) 则 O( f 3 (n)) O(_____________) 则 O( f 4 (n)) O(_____________) 则 O( f 5 (n)) O(_____________)
n
f 4 (n) 2log n ,
参考解答:设 n 堆石子从左到右方向编号为 1,2,…,n,每堆石子个数分别为 a[1],…,a[n]。n 堆石子的合并有许多不同 的方式,每种合并方式对应于 n 个矩阵连乘的一种完全加括弧方式。显然,这里合并是满足最优子结构性质的,用 A1…An 来代表每堆的石子,则最后一次合并在 Ak 和 Ak+1 之间,则 A1…An 的最优合并为((A1…Ak)(Ak+1…An)),可以看出最优 解左边部分(A1…Ak)和右边部分(Ak+1…An)的合并也分别是最优的。 假设 m[i,j]为合并石子 Ai…Aj, 1≤i≤j≤n,所得到的最小得分,若没有“合并”这个动作,则为 0。原问题所求 的最优值即为 m[1,n]。

算法设计与分析参考试卷

算法设计与分析参考试卷

算法设计与分析参考试卷此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……算法设计与分析参考试卷一、单项选择题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)完成搜索任务。

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

算法设计与分析试卷(A 卷)
一、 选择题 ( 选择1-4个正确的答案,每题2分,共20分)
(1)计算机算法的正确描述是:
A .一个算法是求特定问题的运算序列.
B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列.
C .算法是一个对任一有效输入能够停机的图灵机.
D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出.
(2)影响程序执行时间的因素有哪些?
A .算法设计的策略
B .问题的规模
C .编译程序产生的机器代码质量
D .计算机执行指令的速度
(3)用数量级形式表示的算法执行时间称为算法的
A .时间复杂度
B .空间复杂度
C .处理器复杂度
D .通信复杂度
(4)时间复杂性为多项式界的算法有:
A .快速排序算法
B .n-后问题
C .计算π值
D .prim 算法
(5)对于并行算法与串行算法的关系,正确的理解是:
A .高效的串行算法不一定是能导出高效的并行算法
B .高效的串行算法不一定隐含并行性
C .串行算法经适当的改造有些可以变化成并行算法
D. 用串行方法设计和实现的并行算法未必有效
(6)衡量近似算法性能的重要标准有:
A .算法复杂度
B .问题复杂度
C .解的最优近似度
D .算法的策略
(7)分治法的适用条件是,所解决的问题一般具有这些特征:
A .该问题的规模缩小到一定的程度就可以容易地解决;
B .该问题可以分解为若干个规模较小的相同问题;
C .利用该问题分解出的子问题的解可以合并为该问题的解
D .该问题所分解出的各个子问题是相互独立的.
(8)具有最优子结构的算法有:
A .概率算法
B .回溯法
C .分支限界法
D .动态规划法
(9)下列哪些问题是典型的NP 完全问题:
A .排序问题
B .n-后问题
C .m-着色问题
D .旅行商问题
(10)适于递归实现的算法有:
A .并行算法
B .近似算法
C .分治法
D .回溯法
二、算法分析题(每小题5分,共10分)
(11)用展开法求解递推关系:
(12)分析当输入数据已经有序时快速排序算法的不足,提出算法的改进方案.
⎩⎨⎧>+-==1
1)1(211)(n n T n n T
三、简答题(每小题5分,共10分)
(13)算法的复杂度分析涉及哪些方面?
(14)动态规划法的指导思想是什么?
四、计算题(每小题8分,共24分)
(15)用动态规划法求A10*30B30*20C20*10D10*200运算量最小的乘积顺序.要求写出求解过程,并将结果填入数组m[4][4]中.
(16) 用贪心法求下图的最小生成树
16
(17)马步问题:在n*n的方棋盘中,马只能走“日”字.马从初始位置(x0,y0)出发,把棋盘的每一格都走一次,且只走一次(遍历).求出n=5时马的行走路线.
五、分析设计题(每小题8分,共16分)
(18)有16个选手参加循环赛,循环赛一共进行15天,每个选手必须与其他的15个选手各赛一场,每个选手一天只比赛一次;设计一个满足上述要求的比赛日程表. (19)某市场营销人员从他所在城市(顶点1)出发,到其他5个城市去做市场调查,如下图19所示.请设计行走路线.
19
六、算法设计题(每小题10分,共20分)
(20)将一组无序数据重新排列成有序序列,写一算法实现;并分析你所写算法的时
间复杂性,简要说明该算法适用于什么情形?不适用于什么情形?
(21)写一贪心算法,求解0-1背包问题.
0-1背包问题描述:
给定n种物品和一个背包.物品i的重量是Wi,其价值为Vi,背包的容量为C.问如何选择装入背包的物品,使得装入背包中物品的总价值最大?
若进一步讨论:就0-1背包问题的应用作简单的描述.。

相关文档
最新文档