算法设计与分析试卷.doc_第1页
算法设计与分析试卷.doc_第2页
算法设计与分析试卷.doc_第3页
算法设计与分析试卷.doc_第4页
算法设计与分析试卷.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012学年-算法分析试卷一、选择题(15*2分)1、最大效益优先是( A )的一搜索方式。A、分支界限法 B、动态规划法 C、贪心法 D、回溯法2下列算法中通常以自底向上的方式求解最优解的是( B )。A、备忘录法B、动态规划法C、贪心法D、回溯法3、衡量一个算法好坏的标准是(C )。A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短4哈弗曼编码的贪心算法所需的计算时间为( B )。A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)5分支限界法解最大团问题时,活结点表的组织形式是( B )。A、最小堆B、最大堆 C、栈D、数组6最长公共子序列算法利用的算法是( B )。A、分支界限法B、动态规划法C、贪心法D、回溯法7.回溯法的效率不依赖于下列哪些因素( D )A.满足显约束的值的个数 B. 计算约束函数的时间 C. 计算限界函数的时间 D. 确定解空间的时间8. 矩阵连乘问题的算法可由( B)设计实现。A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法9. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。A、最小堆B、最大堆 C、栈D、数组10、使用分治法求解不需要满足的条件是(A )。A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解11、下面问题(B )不能使用贪心法解决。A 单源最短路径问题 B N皇后问题 C 最小花费生成树问题 D 背包问题12实现大整数的乘法是利用的算法( C )。A、贪心法B、动态规划法C、分治策略D、回溯法13贪心算法与动态规划算法的主要区别是( B )。A、最优子结构B、贪心选择性质C、构造最优解D、定义最优解14. 以深度优先方式系统搜索问题解的算法称为 ( D ) 。A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法15. 实现最长公共子序列利用的算法是( B )。A、分治策略B、动态规划法C、贪心法D、回溯法二、填空题(15*2分)1.算法的复杂性有 时间 复杂性和 空间 复杂性之分。2、程序是 算法 用某种程序设计语言的具体实现。3、算法的“确定性”指的是组成算法的每条 指令 是清晰的,无歧义的。4.矩阵连乘问题的算法可由 动态规划 设计实现。5、拉斯维加斯算法找到的解一定是 正确解。6、算法是指解决问题的 一种方法 或 一个过程 。7、从分治法的一般设计模式可以看出,用它设计出的程序一般是 递归算法 。8、问题的 最优子结构性质 是该问题可用动态规划算法或贪心算法求解的关键特征。9、以深度优先方式系统搜索问题解的算法称为 回溯法 。10、计算一个算法时间复杂度通常可以计算 循环次数 、 基本操作的频率 或计算步。11.快速排序算法是基于 分治策略 的一种排序算法。12.动态规划算法的两个基本要素是. 最优子结构 性质和 重叠子问题 性质 。三、算法设计题(27分)1、(7分)写出欧几里得迭代算法(注意是迭代算法) int Gcd(int m,int n)If(m=0)return n;If(n=0)return m;while(m0)int c=n%m;n=m;m=c;Return n;2. (9分)给定已按升序排好序的n个元素a0:n-1,现要在这n个元素中找出一特定元素x,返回其在数组中的位置,如果未找到返回-1。写出二分搜索的算法,并分析其时间复杂度。template int BinarySearch(Type a, const Type& x, int n)/在a0:n中搜索x,找到x时返回其在数组中的位置,否则返回-1 int left=0; int right=n-1; While (leftamiddle) left=middle+1; else right=middle-1; Return -1; 时间复杂性为O(logn)3、(11分)写出对下图所示的多段图采用向前递推动态规划算法求解的计算过程。第一段 BCOST(1,1)=0第2段 BCOST(2,2) = 9 BCOST(2,3) = 7 BCOST(2,4) = 3 BCOST(2,5) = 2第3段 BCOST(3,6) = minBCOST(2,2)+4,BCOST(2,3)+2 = 9 BCOST(3,7) = minBCOST(2,2)+2,BCOST(2,3)+7, BCOST(2,5)+11 = 11 BCOST(3,8) = minBCOST(2,4)+11, BCOST(2,5)+8 = 10第4段 BCOST(4,9) = minBCOST(3,6)+6,BCOST(3,7)+4 = 15 BCOST(4,10) = minBCOST(3,6)+5,BCOST(3,7)+3, BCOST(3,8)+5 = 14 BCOST(4,11) = minBCOST(3,8)+6 = 16第5段 BCOST(5,12) = minBCOST(4,9)+4,BCOST(4,10)+2, BCOST(4,11)+5 = 16S到t的最小成本路径的成本 16最小成本路径的求取 记 BD(i,j)每一COST(i,j)的决策 即,使COST(i-1,l)+c(l,j)取得最小值的l值。 例:BD(3,6) = 3, BD(3,7)= 2 ,BD(3,8) = 5 BD(4,9) = 6, BD(4,10) = 7, BD(4,11) = 8 BD(5,12) = 10 根据D(5,12)的决策值向前递推求取最小成本路径: v4 = BD(5,12)=10 v3 = BD(4,BD(5,12) = 7 v2 = BD(3,BD(4,BD(5,12) = BD(3,7) = 2 故由s到t的最小成本路径是:1271012 四、算法应用题(13分)如图所示的数字三角形,请编写一个程序计算从顶到底的一条路径(路径是指上一层的一个数字到下一层两个数字连线的任一条),并找出数字和最大的路径。输出该最大路径数字和。738810274445265输出:30 #include using namespace std;const int M=100;int n;int aMM;int func()int i,j;for(i=n-1;i=1;i-)for(j=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论