算法练习题-1

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

一、单项选择题

1. 当输入规模为n时,下列算法渐进复杂性中最低.的是()。

A. 5n

B. n2

C. 2n2

D. n!

2.二分搜索算法是利用()实现的算法。

A、分治策略

B、动态规划法

C、贪心法

D、回溯法

4. 回溯法搜索状态空间树是按照( C )的顺序。

A.中序遍历 B.广度优先遍历 C.深度优先遍历 D.层次优先遍历

6.下列算法中通常以自底向上的方式求解最优解的是( B )。A、备忘录法B、动态规划法C、贪心法D、回溯法7.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法

B、动态规划法

C、贪心法

D、回溯法

8.快速排序算法是利用( A )实现的算法。

A.分治策略 B.动态规划法 C.贪心法 D.回溯法

二、填空题

1. 通俗地讲,算法是指解决问题的。

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

三、简答题

1. 1.什么是算法?算法必须满足的五个特性是什么?

●有穷性:一个算法必须保证执行有限步之后结束;

●确切性:算法的每一步骤必须有确切的定义;

●输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入

是指算法本身定除了初始条件;

●输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出

的算法是毫无意义的;

●可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完

2.动态规划的四个步骤是什么?

●刻画最优解的结构特性. (一维,二维,三维数组)

●递归的定义最优解. (状态转移方程)

●以自底向上的方法来计算最优解.

●从计算得到的解来构造一个最优解.

1.什么是钢条切割问题?

用动态规划解决钢条切割问题时,它的最优子结构(问题)是什么? 简述钢条切割问题的动态规划算法.

并求解以下实例。

2.什么是矩阵链乘法问题?

用动态规划解决矩阵链乘法问题时,它的最优子结构(问题)是什么? 简述矩阵链乘法问题的动态规划算法.

并求解以下实例。

3、什么是最长公共子序列问题?

用动态规划解决矩阵链乘法问题时,它的最优子结构(问题)是什么?

简述矩阵链乘法问题的动态规划算法.

并求解以下实例。

四、分析、计算题

1.考虑矩阵链乘法问题。设有3个矩阵A、B、C,它们的维数分别为2×3、3×4、4×3,试分别按((AB)C)、(A(BC))的计算顺序,给出它们的计算量(数乘次数)。

2.写出课本实例的钢条切割方案

3. 写出课本图15-5的最优括号化方案,并计算m[1,6],要求写出计算步骤。

4、有11个待安排的活动,它们具有下表所示的开始时间与结束

时间,如果以贪心算法求解这些活动的最优安排(即为活动安排问题:在所给的活动集合中选出最大的相容活动子集合),得到的最大相容活动子集合为活动({1,4,8,11} )。

5、给定关键字序列(13,24,37,90,53),构造AVL树。

给定关键字序列(5,3,4,7,6,8,2,1),构造AVL树。

14 13

12

11

10

9

8

7

6

5

4

f[i]

12 2

8

8

6

5

3

5

3

1

S[i]

11 10

9

8

7

6

5

4

3

2

1

i

相关文档
最新文档