2009春季算法试卷(答案).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中南大学考试试卷答案(补考) 2008 -- 2009学年 2学期 时间110分钟 算法分析与设计 课程 48学时 3学分 考试形式: 闭 卷 专业年级: 信安0601-0602 总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上 基本概念题(本大题40分) (6分) 1)顺序结构将运算步骤的时间累计,简单运算只需要1个单位时间。(1分) 2)选择结构:计算复杂的情况复杂度。 (2分) 3)循环结构:复杂度计量=循环着次数*循环体的时间 (2分) 4)函数调用:计算函数的执行时间 (1分) 设T(n)=n,根据T(n)= O(f(n))的定义,下列等式是否成立? (4分) T(n)= O(n2) (√) O(n2) = T(n) (×) T(n)= O(log n)+ O(n) (√) T(n) = O(n) *O(log n) (√) 与顺序查找算法相比,折半查找算法的时间复杂性有多大程度的降低? 它是如何提高算法的效率的? (6分) 顺序查找的时间是O(n) ,折半查找O(log n) 降低了一个数量级 (2分) 采用分治策略,每一次比较可以排除一半的数据。 (4分) 简述归并排序算法和快速排序算法的分治方法。 (6分) 归并排序的分治是将数组从中间分开,分别对前后来那个部分进行排序,将排序后的两个数组合并成整个数组的排序。这样分治为递归过程,直到一个元素时返回。 快速排序的分治是选取分割元素,以分割元素为界,将数组分成两部分,一部分小于分割元素,一部分大于分割元素,分别对两部分排序。 一般背包问题的贪心算法可以获得最优解吗?物品的选择策略是什么?(6分) 按照p[i]/w[i]≥p[i+1]/w[i+1]排序,选择当前利润/重量比最大的物品,可以获得最优解, Prim算法和Dijkstra算法选择下一个节点的标准分别是什么?对于有负边的无向图,Prim算法和Dijkstra算法还能保证获得最优解吗? (6分) prim算法的选择标准是选择当前与T连结边的代价最小的节点加入。 Dijkstra算法的选择标准是在与T邻接的顶点w中,选择从S到w路径最短的顶点。 prim算法用于有负边的图可以获得最优解,Dijkstra算法不能获得最优解。 比较回溯法和分支限界法的搜索方式,哪种方法更适合找最优解问题?(6分) 回溯法是在约束下带跳跃的深度优先搜索。 分枝限界是广度优先方式的按最小代价选择扩展节点,以上界函数对活节点进行限界的搜索。 分枝限界法更适合找最优解。 分析算法的时间复杂性,需要写出分析过程(本大题20分) 用分割元素v将有n个元素的数组分割成元素大于v和小于v的两部分,需要花多少时间(要讲出道理)。 (5分) 至少需要对每个元素进行一次比较运算,运算时间是O(n)。 如果修改归并排序算法,将数组分成1/3和2/3大小不等的两部分,分别排序后再归并,算法的最坏时间复杂度有什么变化? 设对n个元素排序的时间为T(n), 对两部分排序的时间分别为T(n/3)和,合并的时间为n-1 ,得到递归方程: T(n) = T(n/3)+ T(2n/3) + n-1 n3 (2分) O(1) n≤3 考虑n=3k T(n) = T(3k-1 )+ T(2*3k-1) +n-1 = T(3k-2 )+2T(2*3k-2 )+T(22*3k-2)+(n-1)+(n-2) = T(3k-3 )+3T(22*3k-3 )+ 3T(223k-3 )+T(233k-3)+(n-1)+(n-2) +(n-3) 最后T(2i3 k-i)=O(1)时,2i3 k-i≤3 T(n) ≤(n-1)+(n-2) +(n-3)+......+(n-(k-1)) =nk-(1+2+......+(k-1)) ≤nlog3/2n

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档