2018年秋季学期算法基础期末试题.PDFVIP

  • 23
  • 0
  • 约1.12千字
  • 约 2页
  • 2019-05-30 发布于湖北
  • 举报
2018 年秋季学期 《算法基础》期末试题 Edited by Lyncien 2018.12.28 一、 简答题 4*5% (1) 写出快速排序和归并排序的最坏时间复杂度,说明为什么实际应用更多使 用快速排序而不是归并排序 (2) 对于n 个元素的二叉堆和二项堆,分别对于那个操作更具有时间优势? (3) 说明动态规划解题的一般过程/步骤 (4) MR 算法对于一般的伪素数检测算法作了哪些改进措施? 二、 计算题 4*10% 1. (1)T (n) = T(2n/3) + 1 ,求解T(n) (2)求解线性同余方程组: X≡4 (mod 5), X≡5(mod 11) 2. 用动态规划方法计算下面多段图s 到t 的最短路径,给出计算过程 3. 0-1 背包问题中,如果所有物品按价值递增的顺序和按重量递减的顺序是一样 的,则可以贪心地选择价值率最高的物品,证明贪心解就是最优解。 4. (1)Kruskal 算法的贪心策略是什么?用该算法求下图的最小生成树。 (2)该算法需要合并操作,应该用我们学过的哪种数据结构来实现? 三、 设计题 15% + 15% + 10% 1. 写出递归版本的二分查找,在A [1..n]上查找x,不存在返回0,并分析时间复 杂度。 2. A [1..n]为数组,其中1=A [i]=n+1,且每个元素都不相同,即数组中缺失了一 个数,在使用O (1)额外空间的条件下, (1) 若数组已有序,设计算法在O (lgn)时间找到这个缺失的数,并写出伪 代码 (2) 若数组无序,设计算法在O (n)时间找出缺失的数,只需要说明算法的 思想 3. 对于字符串匹配 (1) 课堂上学过的最坏时间复杂度为线性时间的算法有哪些? (2) 之前的匹配算法都是严格匹配,现在考虑1-缺陷匹配,即允许最多一个 字符不同(海明距离为1),设计有效算法实现找出所有的1-缺陷匹配, 并给出时间复杂度(有效算法即非朴素算法)

文档评论(0)

1亿VIP精品文档

相关文档