算法设计与分析试题(C)

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

2006级计算机专业2006—2007学年第二学期

《算法设计与分析》期末试题 (C卷)

一、填空题(10题×2分=20分)

1、()()

等于()。

O f O g

2、按照渐近阶从低到高的顺序排列下列表达式:

n n n n n,结果为()。

3

2,,,4,log

3、动态规划算法中,通常不同子问题的个数随问题规模呈()级增长。

4、()和()是采用动态规划算法的两个基本要素。

5、()和()是贪心算法的基本要素。

6、()是设计贪心算法的核心问题。

7、装载问题的贪心算法求解中,贪心策略是()。

8、贪心选择性质是指所求问题的整体最优解可以通过一系列()的选择,即贪心选择达到。

9、按照活结点表的组织方式的不同,分支限界法包括()和()两种形式。

10、优化问题主要由两个部分组成()和()。

二、判断题(10题×2分=20分)

1、f=O(f)。

2、递归的两个基本要素是递归方程和约束函数。

3、最优子结构性质是指原问题的最优解包含了其子问题的最优解。

4、直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。

5、动态规划算法采用与递归定义一致的自上而下的方式求解子问题。

6、贪心算法并不总能求得问题的整体最优解。

7、满足最优子结构性质必满足贪心选择性质。

8、子集树通常有n!个叶子节点。

9、回溯法的含义是指加剪枝的深度优先展开方法。

10、回溯法中限界函数的目的是剪去得不到最优解的子树。

三、简答题(6题×5分=30分)

1、简述什么是渐近复杂性。

2、简述状态空间树的广度优先展开方法。

3、简述动态规划算法求解问题的一般步骤。

4、简述什么是备忘录方法。

5、简述什么是P 类判断问题。

6、给出0-1背包问题的数学描述,若m(i ,j)是背包容量为j ,可选择物品为i ,i+1,…,n 时0-1背包问题的最优值。由0-1背包问题的最优子结构性质,给出计算m(i ,j)的递归公式。 四、计算题(2题×7分=14分)

1、对于下图所示的有向图,用Dijkstra 算法计算从源顶点1到其它顶点间的最短路径,请列表描述出Dijkstra 算法的迭代过程。

2、对于下图所示的带权图,给出按照Prim 算法构造其最小生成树的过程。

五、算法分析题(2题×8分=16分)

1、设a[0:n-1]是已排序的数组,请改写二分搜索算法,使要搜索的元素x 不在数组中时,返回小于x 的最大元素位置i 和大于x 的最小元素位置j 。当搜索元素x 在数组中时,i 和j 相同,均为x 在数组中的位置。

2、工作分配问题:设有n 件工作分配给n 个人。将工作i 分配给第j 个人所需费用为ij c 。试设计一个算法,为每一个人分配一件不同的工作,并使总费用达到最小。

1 6

2 3

4 5 6 3 1 5 5 5

6 6

4 2

5 1 2 3 4 10 50

20 10 30

100

60

相关文档
最新文档