算法设计与分析试题(三合一).(优选)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安电子科技大学网络教育

2010学年上学期期末考试模拟试题一

一、 填空题(每小题4分,共计40分)

1. 通常只考虑三种情况下的时间复杂度,即 情况、 情况和 情况

下的时间复杂度,分别记为T max (N)、T min (N) 和T avg (N),实践表明可操作性最好且最有实

际价值的是 情况下的时间复杂度。

2. n n 1032 的渐近表达式是 ,

)log(3n 的渐近表达式是 。

3. 根据符号O 的定义易知O(1)=O(2),用O(1)和O(2)表示同一个方法时,差别仅在于其中

的 。

4. 递归算法是指 的算法,

递归函数是指 的函数。

5. 贪心算法总是做出在当前看来_____________的选择,也就是说,贪心算法并不从整体最优考虑它

所做出的选择只是在某种意义上的________________。

6. 如果某问题具有________________________和___________________________两个重要性质,该问题可以用贪心算法求解。

7. 单源最短路径问题适合用_______________算法来求解、0-1背包问题适合用_____________算法来

求解。

8. 分治法是将一个规模为n 的问题分解为k 个规模________的子问题,这些子问题___________且与

原问题__________。递归地求解这些子问题,然后将各个子问题的解_________得到原问题的解。

9. 动态规划算法的两个基本要素是____________________和____________________。

10.___ 算法可以有效地解凸多边形最优三角剖分问题,而____________算法是求解最优

装载问题的有效方法。

二、简答题(每小题10分,共计40分)

1. 如果只需要求解问题的最优值,动态规划算法步骤是什么?如果需要构造最优解,则还需要加上什么步骤?

2. 请简述什么是贪心选择性质

3. 请简述什么是最小生成树。

4. 请简述贪心算法比动态规划算法效率高的原因。

三、算法分析和设计题(每小题10分,共计20分)

1. 请写出汉诺塔问题的简要递归算法。

2. 请设计一个在有序数组a[1..n]中二分搜索元素x的递归算法,要求若x在数组中则返回其下标

否则返回0.

2010学年上学期期末考试模拟试题二

一、填空题(每小题4分,共计40分)

1. 算法是满足输入、输出、确定性和有限性的指令序列。程序与算法不同,程序是算法用某种 _

的具体实现。程序不满足算法的性质。

2. 实践表明,可操作性最好且最有实际价值的是_____________情况下的时间复杂性。

3. 直接或间接调用自身的算法称为________________,用函数自身给出定义的函数是

___________________。

4. 找硬币问题是用______________求解的典型例子,而最长公共子序列问题则适合用_______________

求解。

5. 函数式An2+Bn+C的复杂度是________________,函数式Cn 复杂度是________________。

6. 对于表达式

3

n、2

5n、n

log

,n

20, 按照渐近阶从低到高的顺序排列, 顺序是________________、

________________、________________、________________。

7. 二分搜索算法是应用________________的典型例子。这个方法很好地利用n个元素________________

这个条件。可在最坏情况下用__________时间完成搜索,而顺序搜索法在最坏情况下需要___________时间完成搜索。

8. 如果某问题具有________________________和___________________________两个重要性质,该问题

可以用动态规划算法求解。

9. 备忘录方法是动态规划算法的变形。与动态规划算法不同的是,备忘录方法的递归方式是

________________________,而动态规划算法的递归方式则是________________________。

10.部分背包问题适用于_________________算法求解、而0-1背包问题适用于________________算法求

解。

二、简答题(每小题10分,共计40分)

1. 分治算法由哪些基本步骤组成?分治算法的时间复杂性常满足什么样的递归方程,写出该方程的一般

形式,并指出其中各参数的意义。

2. 0-1背包问题的形式化描述是什么?

3.请简述贪心算法的简要求解步骤。

4.请简述归并排序的基本思想。

三、算法分析和设计题(每小题10分,共计20分)

1. 请写出Fibonacci数列的递归定义式及其简要递归算法。

2. 请写出二分搜索算法的简单程序描述(用java或C++语言)。

2010年上学期期末考试模拟试题三

一、填空题(每小题4分,共计40分)

1. 算法是满足、、和等四个性质的指令

序列。

2. 算法复杂性的高低体现在运行该算法所需的计算机资源的多少上,计算机的资源最重要的是

和,因此算法的复杂性有和之分。3.与分治法类似,动态规划算法的基本思想是____________________________,先求解

_________________,然后从这些解得到原问题的解。与分治法不同的是,适合用动态规划算法求解的问题,经分解得到的子问题往往不是___________________的。

4. Java语言的类(class)体现了抽象数据类型(ADT)的思想,一般由4个部分组

成:、、和。

5. 抽象数据类型的英文简称是,它是算法的一个连同定义在该模型上并作为

算法构件的一组。

6. O(f)+O(g)= ,O(f)O(g)= 。

7. 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模_______的相同问题 , 以便各

个击破,_______________。

8. 动态规划算法的第一步通常是刻画最优解的结构。当问题的最优解包含了其__________________的最

优解时,称该问题具有最优子结构性质。

9. 动态规划算法与贪心算法的主要区别是___________________性质。

10.表示最优前缀码的二叉树总是一颗,即树中任一个结点都有两个儿子结点。

二、简答题(每小题10分,共计40分)

1. 请简述为什么部分背包问题可以用贪心算法求解,而0-1背包问题却不能用贪心算法求解。

2. 请写出如图语法树所对应的矩阵链相乘的最优完全加括号方式。

相关文档
最新文档