武科大算法设计与分析考试试卷.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试 题 2011 年~ 2012 年第 2 学期 课程名称: 算法设计与分析 专业年级: 2009级计算机 考生学号: 考生姓名: 试卷类型: A卷 ■ B卷 □ 考试方式: 开卷 □ 闭卷 ▋ ……………………………………………………………………………………………………… 选择题(每题2分,共20分) 算法的控制结构有3种,分别是顺序结构、选择结构和()。 A. 队列结构 B.二叉树结构 C. 循环结构 D.数据结构 显式图在搜索算法中用的比较多,显式图常见搜索策略有广度优先搜索和()两种。 A.深度优先搜索 B.回溯法 C.分支限界法 D.穷举法. 算法可以用4种质量指标衡量,分别是正确性、可读性、( )、高效率性及低存储性。 A.目的性 B.稳健性 C.操作性 D.有序性. 4. 回溯法在解空间树T上的搜索方式是()    A.深度优先 B.广度优先    C.最小耗费优先 D.活结点优先 5.用计算机程序解决实际问题的过程中,需要进行算法设计,算法指的是() A、最终结果B、数值计算的方法 C、实际问题的描述 D、解决问题的方法和步骤 6. 如果一个问题存在多项式时间的算法,则可称之为P类问题;如果至今没有找到多项式时间算法解,则可称之为NP问题,下列哪种时间复杂度问题属于P类问题。 A.O(n3) B.O(2n) C. O(n!) D.O(4n) 7. 下述算法时间复杂度为() x=0;y=0; for(k=1;k=n;k++) x++; for(i=1;i=n;i++) for(j=1;j=n;j++) y++; A.O(n) B. O(n2) C. O(n3) D.O(2n) 8.迭代算法有两种方法,分别是递推法和(). A. 循环法 B. 递归法. C.倒推法 D. 动态规划法 9. 流程图是描述算法的常用工具,下列哪种组件表示条件选择( ). A. B. C. D. 10. 下了哪种有关贪心算法描述是不正确(). A.贪心算法可用于求解最优解问题。 B.所求解全局最优. C.能够用很快的方式求取问题的一个解。D.贪心算法一般要求问题具有无后向性。 二.简答题(每个6分,6*4=24分) 简述用递归算法解题的步骤 简述分治法基本思想,使用分治法的条件? 什么是活结点,E结点和死结点? 如果问题算法可以抽象为T(n)=2T(n/2)+1,则它的时间复杂度是多少?(设n=2k,写出推导过程) 三、把下列程序或者算法填写完整(2*10=20分) 1.利用分支法求含有16个数据的数组中最大的两个数。 #define M 16 #include stdio.h int a[M]={-8,3,6,0,1,7,8,20,,40,16,24,10,18,32,50,28}; void maxtwo(int i,int j, int*max1,int *max2) { int lmax1,lmax2,rmax1,rmax2; int mid; if(i= =j) { *max1=a[i]; *max2=a[i]; } else if(i= =(1)) { if(a[i]a[j]) {*max1=a[j]; *max2=a[i]; } else {*max1=a[i]; *max2=a[j]; } } else { mid= (2); maxtwo(i,mid,lmax1,lmax2); maxtwo(mid+1, (3),rmax1,rmax2); if(lmax1rmax1) { *max1=lmax1; if((4)) *max2=lmax2; else *max2=rmax1; } else { *max1=(5); if(rmax2lmax1) *max2=rmax2; else *max2=lmax1; }}} void main() { int max1,max2; maxtwo(0,M-1,max1,max2); printf(

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档