算法设计与分析报告考试题(自测)

合集下载

算法设计与分析试卷及答案

算法设计与分析试卷及答案

算法设计与分析

1、(1) 证明:O(f)+O(g)=O(f+g)(7分)

(2) 求下列函数的渐近表达式:(6分)

① 3n 2+10n;

② 21+1/n;

2、对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=θ(g(n)),并简述理由。(15分)

(1)

;5log )(;log )(2+==n n g n n f (2)

;)(;log )(2n n g n n f == (3)

;log )(;)(2n n g n n f == 3、试用分治法对数组A[n]实现快速排序。(13分)

4、试用动态规划算法实现最长公共子序列问题。(15分)

5、试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n 公里,而旅途中有若干个加油站。试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少。(12分)

6、试用动态规划算法实现下列问题:设A 和B 是两个字符串。我们要用最少的字符操作,将字符串A 转换为字符串B ,这里所说的字符操作包括:

(1)删除一个字符。

(2)插入一个字符。

(3)将一个字符改为另一个字符。

将字符串A 变换为字符串B 所用的最少字符操作数称为字符串A 到B 的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的两个字符串A 和B ,计算出它们的编辑距离d(A,B)。

(16分)

⎣⎦2/)(;3)(i i g i i f ==。对于给定的两个整数n 和m ,要求用最少的变换f 和g 变换次数将n 变为m 。(16分)

1、⑴证明:令F(n)=O(f),则存在自然数n 1、c 1,使得对任意的自然数n ≥n 1,有:F(n)≤c 1f(n)……………………………..(2分)

算法设计与分析考试题目与答案

算法设计与分析考试题目与答案

《算法分析与设计》期末复习题

一、

选择题

1.应用Johnson 法则的流水作业调度采用的算法是(D )

A. 贪心算法

B. 分支限界法

C.分治法

D. 动态规划算法

2.Hanoi 塔问题如下图所示。现要求将塔座A 上的的所有圆盘移到塔座B 上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi 塔问题的移动规则。由此设计出解Hanoi 塔问题的递归算确的为:(B )

Hanoi 塔

A. void hanoi(int n, int A, int C, int B) {

if (n > 0) {

hanoi(n-1,A,C, B); move(n,a,b);

hanoi(n-1, C, B, A); } B. void hanoi(int n, int A, int B, int C) {

if (n > 0) {

hanoi(n-1, A, C, B); move(n,a,b);

hanoi(n-1, C, B, A); }

C. void hanoi(int n, int C, int B, int A)

{

if (n > 0)

{

hanoi(n-1, A, C, B);

move(n,a,b);

hanoi(n-1, C, B, A);

}

D. void hanoi(int n, int C, int A, int B)

{

if (n > 0)

{

hanoi(n-1, A, C, B);

move(n,a,b);

hanoi(n-1, C, B, A);

}

3.动态规划算法的基本要素为(C)

A. 最优子结构性质与贪心选择性质

《算法设计与分析》考试题目及答案(DOC)

《算法设计与分析》考试题目及答案(DOC)

else
for (int i=0;i<=1;i++) {
x[t]=i;
if (legal(t)) backtrack(t-1);
}
}
D. void backtrack (int t) { if (t>n) output(x); else for (int i=t;i<=n;i++) { swap(x[t], x[i]); if (legal(t)) backtrack(t+1); } }
}
Hanoi 塔
D. void hanoi(int n, int C, int A, int B) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); }
3. 动态规} 划算法的基本要素为(C) A. 最优子结构性质与贪心选择性质 B.重叠子问题性质与贪心选择性质 C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用
C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用
7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。 A. 广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先
8. 分支限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间 树。

算法设计与分析试卷及答案

算法设计与分析试卷及答案

湖南科技学院二○ 年 学期期末考试

信息与计算科学专业 年级《算法设计与分析》 试题

考试类型:开卷 试卷类型:C 卷 考试时量:120 分钟 一、填空题(每小题3 分,共计30 分)

1. 用O 、Ω和θ表示函数f 与g 之间的关系______________________________。

2. 算法的时间复杂性为1,

1()8(3/7),

2

n f n f n n n =⎧=⎨

+≥⎩,则算法的时间复杂性的阶

为__________________________。

3. 快速排序算法的性能取决于______________________________。

4. 算法是_______________________________________________________。

5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。

6. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。

7. 大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。。 8. ____________________________是问题能用动态规划算法求解的前提。

9. 贪心选择性质是指________________________________________________________ ____________________________________________________________。

算法设计与分析试卷

算法设计与分析试卷

算法设计与分析试卷(A 卷)

一、 选择题 ( 选择1-4个正确的答案,每题2分,共20分)

(1)计算机算法的正确描述是:

A .一个算法是求特定问题的运算序列.

B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列.

C .算法是一个对任一有效输入能够停机的图灵机.

D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出.

(2)影响程序执行时间的因素有哪些?

A .算法设计的策略

B .问题的规模

C .编译程序产生的机器代码质量

D .计算机执行指令的速度

(3)用数量级形式表示的算法执行时间称为算法的

A .时间复杂度

B .空间复杂度

C .处理器复杂度

D .通信复杂度

(4)时间复杂性为多项式界的算法有:

A .快速排序算法

B .n-后问题

C .计算π值

D .prim 算法

(5)对于并行算法与串行算法的关系,正确的理解是:

A .高效的串行算法不一定是能导出高效的并行算法

B .高效的串行算法不一定隐含并行性

C .串行算法经适当的改造有些可以变化成并行算法

D. 用串行方法设计和实现的并行算法未必有效

(6)衡量近似算法性能的重要标准有:

A .算法复杂度

B .问题复杂度

C .解的最优近似度

D .算法的策略

(7)分治法的适用条件是,所解决的问题一般具有这些特征:

A .该问题的规模缩小到一定的程度就可以容易地解决;

B .该问题可以分解为若干个规模较小的相同问题;

C .利用该问题分解出的子问题的解可以合并为该问题的解

D .该问题所分解出的各个子问题是相互独立的.

《算法设计与分析》考试题目及答案

《算法设计与分析》考试题目及答案

《算法分析与设计》期末复习题

一、选择题

1.应用Johnson法则的流水作业调度采用的算法是(D)

A. 贪心算法

B. 分支限界法

C.分治法

D. 动态规划算法

2.Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:(B)

Hanoi塔

4. 算法分析中,记号O表示(B),记号Ω表示(A),记号Θ表示(D)。

A.渐进下界

B.渐进上界

C.非紧上界

D.紧渐进界

E.非紧下界

5. 以下关于渐进记号的性质是正确的有:(A)

A.f(n)(g(n)),g(n)(h(n))f(n)(h(n))

=Θ=Θ⇒=Θ

B. f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n))

==⇒=

C. O(f(n))+O(g(n)) = O(min{f(n),g(n)})

D. f(n)O(g(n))g(n)O(f(n))

=⇔=

6.能采用贪心算法求最优解的问题,一般具有的重要性质为:(A)

A. 最优子结构性质与贪心选择性质

B.重叠子问题性质与贪心选择性质

C.最优子结构性质与重叠子问题性质

D. 预排序与递归调用

7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。广度优先 B. 活结点

优先 C.扩展结点优先 D. 深度优先

8. 分支限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间树。 A.广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先

9. 程序块(A)是回溯法中遍历排列树的算法框架程序。

算法设计与分析考试题及答案

算法设计与分析考试题及答案

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。

2.算法的复杂性有_____________和___________之分,衡量一个算法

好坏的标准是______________________。

3.某一问题可用动态规划算法求解的显著特征是

____________________________________。

4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_____________________________。

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。

6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。

7.以深度优先方式系统搜索问题解的算法称为_____________。

8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。

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

10.二分搜索算法是利用_______________实现的算法。

二、综合题(50分)

1.写出设计动态规划算法的主要步骤。

算法设计与分析试卷及答案

算法设计与分析试卷及答案

湖南科技学院二○年学期期末考试

信息与计算科学专业年级《算法设计与分析》试题

考试类型:开卷试卷类型:C 卷考试时量:120分钟

性的阶为

结点的是 指1.试述回溯法的基本思想及用回溯法解题的步骤。

2.有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1给出一个最优调度方案,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少,并计算所需的最少时间。 答:

最优调度方案为

所需的最少时间为:_______________________

3.根据优先队列式分支限界法,求下图中从v1点到v9点的单源最短路径,请画出求得最优解的解空间树。要求中间被舍弃的结点用×标记,获得中间解的结点用单圆圈○框起(如),最优解用双圆圈◎框起。

三、算法填空(每空2分,共计10分)

设R={r1,r2,...,r n}是要进行排列的n个元素,其中元素r1,r2,...,r n可能相同,试设计一个算法,列出R的所有不同排列,并给出不同排列的总数。算法如下,填写缺失的语句。

template

Swap(R[k],R[i]);

}

}

}

四、算法设计(共计15分)

设有n个程序{1,2,3...,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是Li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序,在保证存储最多程序的前提下还要求磁带的利用率达到最大。

(1)给出求解存储最多程序的算法,并证明算法的正确性;

算法设计与分析试卷及答案

算法设计与分析试卷及答案

湖南科技学院二○年学期期末考试信息与计算科学专业年级《算法设计与分析》试题

考试类型:开卷试卷类型:C卷考试时量:120分钟

9.贪心选择性质是指

________________________________________________________________

____________________________________________________。

10.回溯法在问题的解空间树中,按______________策略,从根结点出发搜

索解空间树。

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

1.试述回溯法的基本思想及用回溯法解题的步骤。

2.有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2

后一个作业在机器M2上加工完成所需的时间最少,并计算所需的最少时间。

}

template<typenameType>

voidPerm(TypeR[],intk,intn,int&sum){//n为元素个数,sum记录不同排列的总数

if(k==n){

______________________;//3

for(inti=1;i<=n;i++)

cout<<___________________;//4

cout<<endl;

}else{

for(inti=k;i<=n;i++)

if(ok(R,k,i)){

Swap(R[k],R[i]);

Perm(_________________________);//5

算法设计与分析试卷及答案

算法设计与分析试卷及答案

湖南科技学院二○ 年 学期期末考试

信息与计算科学专业 年级《算法设计与分析》 试题

考试类型:开卷 试卷类型:C 卷 考试时量:120 分钟

一、填空题(每小题3 分,共计30 分)

1. 用O 、Ω和θ表示函数f 与g 之间的关系______________________________。

2. 算法的时间复杂性为

1,1()8(3/7),

2

n f n f n n n =⎧=⎨

+≥⎩,则算法的时间复杂性的阶为

__________________________。

3. 快速排序算法的性能取决于______________________________。

4. 算法是_______________________________________________________。

5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。

6. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。

7. 大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。。 8. ____________________________是问题能用动态规划算法求解的前提。

9. 贪心选择性质是指________________________________________________________ ____________________________________________________________。

《算法设计与分析》试卷及答案

《算法设计与分析》试卷及答案

《算法设计与分析》试卷及答案

算法设计与分析考试复习试卷

《算法设计与分析》试卷1

一、多项选择题(每空2分,共20分):

1、以下关于算法设计问题的叙述中正确的是__________。

A、计算机与数值问题的求解——方程式求根、插值问题、数值积分、函数逼近等有关

B、利用计算机无法解决非数值问题

C、计算机在解决分类、语言翻译、图形识别、解决高等代数和组合分析等方面的数学问题、定理证明、公式推导乃至日常生活中各种过程的模拟等问题中,主要进行的是判断、比较,而不是算术运算

D、算法设计与分析主要研究对象是非数值问题,当然也包含某些数值问题

2、算法的特征包括_________。

A、有穷性

B、确定性

C、输入和输出

D、能行性或可行性

3、以下描述是有关算法设计的基本步骤:

①问题的陈述②算法分析③模型的拟制④算法的实现

⑤算法的详细设计⑥文档的编制,应与其它环节交织在一起

其中正确的顺序是__________。

A、①②③④⑤⑥

B、①③⑤②④⑥

C、②④①③⑤⑥

D、⑥①③⑤②④

4、以下说法正确的是__________。

A、数学归纳法可以证明算法终止性

B、良序原则是证明算法的正确性的有力工具

C、x = 小于或等于x的最大整数(x的低限)

D、x = 小于或等于x的最大整数(x的高限)

5、汉诺塔(Hanoi)问题中令h(n)为从A移动n个金片到C 上所用的次数,则递归方程

为__________,其初始条件为__________,将n个金片从A柱移到C柱上的移动次数是__________;设菲波那契(Fibonacci)数列中Fn为第n个月时兔子的对数,则有递归方程为__________,其中F1=F2=__________。

算法设计与分析试卷试题(A)(附答案)

算法设计与分析试卷试题(A)(附答案)

cheng

cheng

算法分析考试试卷(A卷)

课程名称算法分析编号

题号一二三四总分

得分

评阅人

一、填空题(每小题3分,共30分)

1、一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

2、这种不断回头寻找目标的方法称为回溯法。

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

4、 记号在算法复杂性的表示法中表示紧致界。

5、由分治法产生的子问题往往是原问题较小模式,这就为使用递归技术提供了方便。

6、建立计算模型的目的是为了使问题的计算复杂性分析有一个共同的客观尺度。

7、下列各步骤的先后顺序是②③④①。①调试程序②分析问题③设计算法④编写程序。

8、最优子结构性质的含义是问题最优解包含其子问题最优解。

9、贪心算法从初始阶段开始,每一个阶段总是作一个使局部最优的贪心选择。

10、拉斯维加斯算法找到的解一定是正确的。

二、选择题(每小题2分,共20分)

1、哈夫曼编码可利用( C )算法实现。

A、分治策略

B、动态规划法

C、贪心法

D、回溯法

2、下列不是基本计算模型的是( B )。

A、RAM

B、ROM

C、RASP

D、TM

3、下列算法中通常以自顶向下的方式求解最优解的是( C)。

A、分治法

B、动态规划法

C、贪心法

D、回溯法

cheng

cheng 4、在对问题的解空间树进行搜索的方法中,一个活结点有多次机会成为活结点的是( A )

A、回溯法

B、分支限界法

C、回溯法和分支限界法

D、动态规划

5、秦始皇吞并六国使用的远交近攻,逐个击破的连横策略采用了以下哪种算法思想? B

A、递归;

B、分治;

C、迭代;

D、模拟。

6、FIFO是( A )的一搜索方式。

《算法设计与分析》考试题目及答案(DOC)

《算法设计与分析》考试题目及答案(DOC)

return b;
}
11. 用回溯法解布线问题时,求最优解的主要程序段如下。如果布线区域划分 为 n m 的方格阵列,扩展每个结点需 O(1)的时间,L 为最短布线路径的长度, 则算法共耗时 ( O(mn) ),构造相应的最短距离需要(O(L))时间。
for (int i = 0; i < NumOfNbrs; i++) { nbr.row = here.row + offset[i].row; nbr.col = here.col + offset[i].col; if (grid[nbr.row][nbr.col] == 0) { // 该方格未标记 grid[nbr.row][nbr.col] = grid[here.row][here.col] + 1; if ((nbr.row == finish.row) && (nbr.col == finish.col)) break; // 完成布线 Q.Add(nbr);}
cg(n) }; B. O(g(n)) = { f(n) | 存在正常数 c 和 n0 使得对所有 n n0 有:0 cg(n)
f(n) };
C. (g(n)) = { f(n) | 对于任何正常数 c>0,存在正数和 n0 >0 使得对所有 n n0 有:0 f(n)<cg(n) };

《算法设计与分析》课程笔试样题

《算法设计与分析》课程笔试样题

《算法设计与分析》课程笔试样题一

(90分钟,开卷笔试,100分)

学年学期班

一、设n为正整数,利用大“O(·)”记号,将下列程序段的执行时间表示为n的函数,分析下列程序段的时间复杂度(每小题7.5分,共15分)

1.程序段1

i=1; k=0;

while(i<n) {

k=k+10*i;

i++;

}

2.程序段2

y=0; n=100;

while ((y+1)*(y+1)<n) y++;

二、简答题(每小题7.5, 共15分)

1. 什么是算法, 算法具有的特性是什么?

2. 什么是分枝限界法?

三、设有序顺序表中的元素依次为017, 094, 154, 170, 275, 503, 509, 512, 553, 612, 677, 765, 897, 908。试画出对其进行折半搜索时的二叉搜索树, 并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度(20分)

四、下面是利用贪心算法求解单源点最短路径问题的伪代码,请你阅读代码并在空白处填上适当的代码(20分)

Procedure SHORTEST_PATHS(v, COST, DIST, n)

// G是一个n个结点的有向图,它由成本邻接矩阵COST(n, n)表示,DIST(j)表示结点v到结点j的最短路径长度,这里1≤ j ≤n,DIST(v)置成0。

boolean S(1:n);

real COST(1:n, 1:n), DIST(1:n);

integer u, v, n, i, w;

for i=1 to n do

S(i)=0;

①;

repeat

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

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_有穷性__,_确定性_,_可行性_,_ (0个或多个)输入__,_ (1个或多个)_输出_。

2.算法的复杂性有__时间复杂性__和__空间复杂性__之分,衡量一个

算法好坏的标准是__时间复杂度高低___。

3.某一问题可用动态规划算法求解的显著特征是___该问题具有最优

子结构性质___。

4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_{A,B,C,D}_。{BABCD}或{CABCD}或{CADCD}

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含_问题的一个(最优)解_。

6.动态规划算法的基本思想是将待求解问题分解成若干_子问题_,先求解_子问题__,然后从这些_子问题_的解得到原问题的解。

7.以深度优先方式系统搜索问题解的算法称为__回溯法__。

8.0-1背包问题的回溯算法所需的计算时间为__O(n2n)__,用动态规划算法所需的计算时间为_O(n)__。o(min{nc,2n})

9.动态规划算法的两个基本要素是_最优子结构_和_重叠子问题

___。

10.二分搜索算法是利用__动态规划法__实现的算法。

二、综合题(50分)

1.写出设计动态规划算法的主要步骤。

1、解:(1)找出最优解的性质,并刻画其结构特征;

(2)递归地定义最优值;

(3)以自底向上的方式计算出最优值;

(4)根据计算最优值时得到的信息,构造最优解。

①问题具有最优子结构性质;②构造最优值的递归关系表达式;

③最优值的算法描述;④构造最优解

2.流水作业调度问题的johnson算法的思想。

2、解:①令N1={i|a i=b i};②将N1中作业按a i 的非减序排序得到N1’,将N2中作业按b i的非增序排序得到N2’;

③N1’中作业接N2’中作业就构成了满足Johnson法则的最优调度。

3.若n=4,在机器M1和M2上加工作业i所需的时间分别为a i和b i,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。

3、解:步骤为:N1={1,3},N2={2,4};

N1’={1,3}, N2’={4,2};

最优值为:38

4.使用回溯法解0/1背包问题:n=3(3种物品),C=9(背包的容量为9),V={6,10,3}(3种物品的价值分别为6,10,3),W={3,4,4}(3种物品的重量分别为3,4,4),其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。

4、解:其解空间为:{(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1),(1,1,0),(1,1,1)}解空间树为:

该问题的最优值为:16=6+10 最优解为:(1,1,0)

5.设S={X1,X2,···,X n}是严格递增的有序集,利用二叉树的结点来存储S中的元素,在表示S的二叉搜索树中搜索一个元素X,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=X i,其概率为b i。(2)在二叉搜索树的叶结点中确定X∈(X i,X i+1),其概率为

a i。在表示S的二叉搜索树T中,设存储元素X i的结点深度为C i;叶结点(X i,X i+1)的结点深度为d i,则二叉搜索树T的平均路长p为多少?假设二叉搜索树T[i][j]={X i,X i+1,···,X j}最优值为m[i][j],W[i][j]= a i-1+

b i+···+b j+a j,则m[i][j](1<=i<=j<=n)递归关系表达式为什么?

5、解:二叉树T的平均路长P=∑

=+

n

i1

Ci)

(1

*

bi+∑

=

n

j0

dj

*

aj

{

m[i][j]=0 (i>j)

6.描述0-1背包问题。

6、解:已知一个背包的容量为C,有n件物品,物品i的重量

为W i,价值为V i,求应如何选择装入背包中的物品,使得装入背包中

物品的总价值最大。

三、简答题(30分)

1.流水作业调度中,已知有n个作业,机器M1和M2上加工作业i所

需的时间分别为a i和b i,请写出流水作业调度问题的johnson法则中

对a i和b i的排序算法。(函数名可写为sort(s,n))

2.最优二叉搜索树问题的动态规划算法(设函数名binarysearchtree))

m[i][j]=W[i][j]+min{m[i][k]+m[k+1][j]} (1<=i<=j<=n,m[i][i-1]=0)

答案:

一、填空

1.确定性有穷性可行性 0个或多个输入一个或多个输出

2.时间复杂性空间复杂性时间复杂度高低

3. 该问题具有最优子结构性质

4.{BABCD}或{CABCD}或{CADCD}

5.一个(最优)解

6.子问题子问题子问题

7.回溯法

8. o(n*2n) o(min{nc,2n})

9.最优子结构重叠子问题

10.动态规划法

二、综合题

1.①问题具有最优子结构性质;②构造最优值的递归关系表达式;

③最优值的算法描述;④构造最优解;

2. ①令N1={i|a i=b i};②将N1中作业按a i的非减序排序得到N1’,将N2中作业按b i的非增序排序得到N2’;③N1’中作业接N2’中作业就构成了满足Johnson法则的最优调度。

3.步骤为:N1={1,3},N2={2,4};