算法设计试卷模式B答案.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南阳理工学院2010-2011学年第一学期试卷答案 课程: 算法设计与分析 (B) 评卷人(签名): 复核人(签名): 题号 一 二 三 四 五 总分 得分 一、选择题(每小题1分,共10分) 选出不是算法所必须具有的特征( C )。 A.有限性 B.确定性 C.高效性 D. 能行性 下列( A )不是描述算法的工具。 A.数据流图 B.伪代码 C.自然语言 D.程序语言 下列程序段的算法时间复杂度为( D )。 for(int i=0;i=n;i++) for(int j=0;j=m;j++) S;//S是基本操作,耗时常数时间 A. B. C. D. 5个矩阵连乘可能的计算次序有( C )种。 A.4种 B.5种 C.14种 D.15种 折半查找算法在最坏情况下的复杂度为( D )。 A. O(n) B. O(n2) C. O(nlogn) D. O(logn) Fibonacci数列的第1项为0,第2项为1,那么它的第9项为( C )。 A. 3 B. 13 C. 21 D.34 如果X序列包含20个字符,Y序列包含30个字符,则使用动态规划来解最长公共子序列问题,记录各子问题最优值的数组大小为( A ) A.651 B.600 C.620 D.630 背包问题:n=6,C=10,V(1:6)=(1559,21,30,60,5),W(1:6)=(15,2,3,6,1)A.101 B.110 C.115 D.120 用贪心策略设计算法的关键是( B )。 A.将问题分解为多个子问题来分别处理 B.选好贪心策略 C.获取各阶段间的递推关系式 D.满足最优性原理 下列排序算法不是基于交换的是( C ). A冒泡排序 B. 快速排序 C 合并排序 D. 堆排序 二、填空题(每空2分,共30分) 1.请将快速排序的分治算法补充完整。 数组a存放待排序元素,left:为待排序元素最小下标,right:为待排元素最大下标。 int Partition(int a[],int left,int right) { int x=a[left]; int i=left+1; int j=right; while(true) { while(a[i] x ihigh) i++; while(a[j] x) j-- ; if(i=j) break ; swap(a[i],a[j]); } a[left]=a[j]; a[j]=x; return j; } void QuickSort(int a[],int left,int right) { if(leftright) { int p=Partition(a,left,right); QuickSort (a,left,p-1); QuickSort (a,p+1,right); } } 2.动态规划四大解题步骤包括最优子结构性质分析、 建立最优值的递归关系式 、自底向上求最优值并记录相关信息、根据记录下来的信息构造最优解。 3.矩阵连乘问题求最优直算法的复杂度是 O(n3) 。 4.哈夫曼编码算法中采用的贪心策略是 从树的集合中取出两棵出现频率最低的树,让它们作为左右子树构造一棵新树,插入到树的集合中。 5.旅行商问题的解空间树是一棵 排列 树,n皇后问题的满足不同行要求的解空间树是一棵满n叉树。图的m着色问题的解空间树是一棵满m叉树。 6.随机化算法中, 蒙特卡罗 算法用于求准确解, 数值随机化 算法用于求近似解;用于求问题的正确解 拉斯维加斯算法 算法,但是,算法的每一次运行不一定得到解。当确定性算法中,最坏情况和最好情况下时间的相差很大时,用 舍伍德 算法削弱这种差异。 三、问答题(每小题5分,共20分) 1.分治算法有何特征。 答:分治算法具有以下特征:(1)问题规模足够小时容易解决;(2)将规模大的问题分成规模较小的子问题;(3)子问题相互独立;(4)子问题的解决方法与原问题相同;(5)递归解决子问题;(6)子问题的解能够合并成原问题的解。 2.简述单源最短路径问题的Dijkstra算法的思想。 答:初始时令S={源点},Dist数组记录最短特殊路径长度,重复做如下操作: 选择一条特殊路径长度最短的,将其连接的V-S中的点加入到S中 。同时考察有没有更优的特殊路径出现。若有,则修正。

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档