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

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

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2015年算法分析与设计期末考试试卷B卷

班 级 学 号 姓 名 密封装订线 密封装订线 密封装订线西南交通大学2015-2016学年第(一)学期考试试卷课程代码 3244152 课程名称 算法分析与设计 考试时间 120 分钟 题号一二三四五总成绩得分·阅卷教师签字: 填空题(每空1分,共15分)程序是 (1)?用某种程序设计语言的具体实现。矩阵连乘问题的算法可由 (2) 设计实现。从分治法的一般设计模式可以看出,用它设计出的程序一般是 (3) 。大整数乘积算法是用 (4) 来设计的。贪心算法总是做出在当前看来 (5) 的选择。也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的 (6) 。回溯法是一种既带有 (7) 又带有 (8) 的搜索算法。 平衡二叉树对于查找算法而言是一种变治策略,属于变治思想中的 (9) 类型。在忽略常数因子的情况下,O、和三个符号中, (10) 提供了算法运行时间的一个上界。算法的“确定性”指的是组成算法的每条 (11) 是清晰的,无歧义的。问题的 (12) 是该问题可用动态规划算法或贪心算法求解的关键特征。算法就是一组有穷 (13),它们规定了解决某一特定类型问题的 (14) 。变治思想有三种主要的类型:实例化简,改变表现, (15) 。选择题(每题2分,共20分)二分搜索算法是利用(?? )实现的算法。A、分治策略?? B、动态规划法?? C、贪心法??? D、回溯法衡量一个算法好坏的标准是( )。A、运行速度快 B、占用空间少 C、 时间复杂度低 D、代码短能采用贪心算法求最优解的问题,一般具有的重要性质为:( )A. 最优子结构性质与贪心选择性质 B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用常见的两种分支限界法为( )A、 广度优先分支限界法与深度优先分支限界法;B、 队列式(FIFO)分支限界法与堆栈式分支限界法;C、 排列树法与子集树法;D、 队列式(FIFO)分支限界法与优先队列式分支限界法;实现循环赛日程表利用的算法是(? ?)。A、分治策略B、动态规划法C、贪心法 D、回溯法回溯法的效率不依赖于下列哪些因素( )A.满足显约束的值的个数 B. 计算约束函数的时间 C. 计算限界函数的时间 D. 确定解空间的时间使用分治法求解不需要满足的条件是( )。A、 子问题必须是一样的 B、 子问题不能够重复C、 子问题的解可以合并 D、 原问题和子问题使用相同的方法解实现合并排序利用的算法是( )。A、分治策略B、动态规划法C、贪心法 D、回溯法背包问题的贪心算法所需的计算时间为( )A、O(n2n)???? B、O(nlogn)??? C、O(2n)????? D、O(n)广度优先是( )的一搜索方式。A、分支界限法? B、动态规划法?? C、贪心法??? D、回溯法算法及程序分析(共25分)。阅读下面的程序,按要求回答问题:(共10分) #include stdio.h#include string.hint vis[101][101];int map[101][101];int R,C;int dp(int i,int j);int main(){ int i,j,ans,max; scanf(%d%d,R,C); for(i=0;iR;i++) for(j=0;jC;j++) scanf(%d,map[i][j]); max = 0; for(i=0;iR;i++){ memset(vis[i],-1,sizeof(vis[i])); for(j=0;jC;j++){ ans = dp(i,j); if(ansmax) max = ans; } } printf(%d\n,max); return 0;}int dp(int i,int j){ int max = 0;if(vis[i][j]0) return vis[i][j];if(i-1=0) if(map[i-1][j]map[i][j]) if(maxdp(i-1,j)) max = dp(i-1,j); if(i+1R) if(map[i+1][j]map[i][j]) if(maxdp(i+1,j)) max = dp(i+1,j); if(j-1=0) if(map[i][j-1]map[i][j]) if(maxdp(i,j-1)) max = dp(i,j-1); if(j+1C) if(map[i][j+1]map[i][j]) if(maxdp(i,j+1)) max = dp(i,j+1); return vis[i][j] = max+1;}该程序采用什么算法?(2分

文档评论(0)

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

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

1亿VIP精品文档

相关文档