海大算法设计与分析考试复习试题 联系客服

发布时间 : 星期六 文章海大算法设计与分析考试复习试题更新完毕开始阅读7787e09db207e87101f69e3143323968001cf42f

.

计算机算法设计与分析复习题

一、填空题

1、一个算法复杂性的高低体现在计算机运行该算法所需的时间和存储器资源上,因此算法的复杂性有 时间 复杂性和空间复杂性之分。

2、出自于“平衡子问题”的思想,通常分治法在分割原问题,形成若干子问题时,这些子问题的规模都大致 相同 。

3、使用二分搜索算法在n个有序元素表中搜索一个特定元素,在最佳情况下,搜索的时间复杂性为O(1),在最坏情况下,搜索的时间复杂性为O( logn )。

4、已知一个分治算法耗费的计算时间T(n),T(n)满足如下递归方程:

n?2?O(1) T(n)??2T(n/2)?O(n)n?2?解得此递归方可得T(n)= O( nlogn )。

5、动态规划算法有一个变形方法 备忘录方法 。这种方法不同于动态规划算法“自底向上”的填充方向,而是“自顶向下”的递归方向,为每个解过的子问题建立了备忘录以备需要时查看,同样也可避免相同子问题的重复求解。

6.递归的二分查找算法在divide阶段所花的时间是 O(1) ,conquer阶

段所花的时间是 T(n/2) ,算法的时间复杂度是 O( log n) 。 7.Prim算法利用贪心 策略求解 最小生成树问题,其时间复杂度是 O(n2) 。

8.背包问题可用 贪心法 , 回溯法 等策略求解。

9.用动态规划算法计算矩阵连乘问题的最优值所花的时间是 O(n3) ,

子问题空间大小是 O(n2) 。

. .

.

10.图的m着色问题可用 回溯 法求解,其解空间树中叶子结点个数是

mn ,解空间树中每个内结点的孩子数是 m 。

11.单源最短路径问题可用贪心法 、 分支限界 等策略求解。 12、一个算法的优劣可以用(时间复杂度)与(空间复杂度)与来衡量。 13、回溯法在问题的解空间中,按(深度优先方式)从根结点出发搜索解空间树。

14、直接或间接地调用自身的算法称为(递归算法)。

15、? 记号在算法复杂性的表示法中表示(渐进确界或紧致界)。

16、在分治法中,使子问题规模大致相等的做法是出自一种(平衡(banlancing)子问题)的思想。

17、动态规划算法适用于解(具有某种最优性质)问题。 18、贪心算法做出的选择只是(在某种意义上的局部)最优选择。 19、最优子结构性质的含义是(问题的最优解包含其子问题的最优解)。 20、回溯法按(深度优先)策略从根结点出发搜索解空间树。 21、拉斯维加斯算法找到的解一定是(正确解)。

22、按照符号O的定义O(f)+O(g)等于O(max{f(n),g(n)})。 23、二分搜索技术是运用(分治)策略的典型例子。

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

25、(最优子结构性质)和(子问题重叠性质)是采用动态规划算法的两个基本要素。

26、(最优子结构性质)和(贪心选择性质)是贪心算法的基本要素。

. .

.

27、(选择能产生最优解的贪心准则)是设计贪心算法的核心问题。

28、分支限界法常以(广度优先) 或(以最小耗费(最大效益)优先)的方式搜索问题的解空间树。

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

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

31、如果对于同一实例,蒙特卡洛算法不会给出两个不同的正确解答,则称该蒙特卡洛算法是(一致的)。

32、哈夫曼编码可利用(贪心法)算法实现。

33概率算法有数值概率算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法 34以自顶向下的方式求解最优解的有(贪心算法)

35、下列算法中通常以自顶向下的方式求解最优解的是(贪心法)。 36、在对问题的解空间树进行搜索的方法中,一个活结点有多次机会成为活结点的是(回溯法)

37、旅行售货员问题不能用()解决 可以用回溯法解决,分支限界法,NP完全性理论与近似算法

38、贪心算法不能解决(0-1背包问题 N皇后问题)。可以解决背包问题 39、投点法是(概率算法)的一种。

40、若线性规划问题存在最优解,它一定不在(可行域内部)

. .

.

二、简答题

1、(8分)写出下列复杂性函数的偏序关系(即按照渐进阶从低到高排序):

2n3nlogn3n!nlognnlognn2n2nn2n103 3nn!nn

参考解答:10logn2、(8分)现在有8位运动员要进行网球循环赛,要设计一个满足以下要求的比赛日程表:

(1) 每个选手必须与其他选手各赛一次; (2) 每个选手一天只能赛一次; (3) 循环赛一共进行n – 1天。

请利用分治法的思想,给这8位运动员设计一个合理的比赛日程。 参考解答:

1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7 3 4 1 2 7 8 5 6 4 3 2 1 8 7 6 5 5 6 7 8 1 2 3 4 6 5 8 7 2 1 4 3 7 8 5 6 3 4 1 2 8 7 6 5 4 3 2 1 3、(8分)某体育馆有一羽毛球场出租,现在总共有10位客户申请租用此羽毛球场,每个客户所租用的时间单元如下表所示,s(i)表示开始租用时刻,f(i)表示结束租用时刻,10个客户的申请如下表所示:

. .