算法设计与分析复习题目及答案

合集下载

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

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

一、填空题(20分)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.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的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个作业的最优调度方案,并计算最优值。

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

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

算法分析与设计考试复习题及参考答案
一、简要回答下列问题 : 1. 算法重要特性是什么? 2. 算法分析的目的是什么? 3. 算法的时间复杂性与问题的什么因素相关? 4. 算法的渐进时间复杂性的含义? 5. 最坏情况下的时间复杂性和平均时间复杂性有什么不同? 6. 简述二分检索(折半查找)算法的基本过程。 7. 背包问题的目标函数和贪心算法最优化量度相同吗? 8. 采用回溯法求解的问题,其解如何表示?有什么规定? 9. 回溯法的搜索特点是什么? 10. n皇后问题回溯算法的判别函数place的基本流程是什么? 11. 为什么用分治法设计的算法一般有递归调用? 12. 为什么要分析最坏情况下的算法时间复杂性? 13. 简述渐进时间复杂性上界的定义。 14. 二分检索算法最多的比较次数? 15. 快速排序算法最坏情况下需要多少次比较运算? 16. 贪心算法的基本思想? 17. 回溯法的解(x1,x2,……xn)的隐约束一般指什么? 18. 阐述归并排序的分治思路。 19. 快速排序的基本思想是什么。 20. 什么是直接递归和间接递归?消除递归一般要用到什么数据结 构? 21. 什么是哈密顿环问题? 22. 用回溯法求解哈密顿环,如何定义判定函数? 23. 请写出prim算法的基本思想。 二、复杂性分析 1、 MERGESORT(low,high) if low<high; then mid←(low,high)/2; MERGESORT(low,mid); MERGESORT(mid+1,high); MERGE(low,mid,high); endif end MERGESORT 2、 procedure S1(P,W,M,X,n) i←1; a←0
15..最坏情况下快速排序退化成冒泡排序,需要比较n2次。 16. 是一种依据最优化量度依次选择输入的分级处理方法。基本思 路是:首先根据题意,选取一种量度标准;然后按这种量度标准对这n 个输入排序,依次选择输入量加入部分解中。如果当前这个输入量的加 入,不满足约束条件,则不把此输入加到这部分解中。 17.回溯法的解(x1,x2,……xn)的隐约束一般指个元素之间应满 足的某种关系。 18. 将数组一分为二,分别对每个集合单独排序,然后将已排序的 两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还 很大,则继续分治,直到一个元素。 19.快速排序的基本思想是在待排序的N个记录中任意取一个记录, 把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字 比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并 把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复 上述过程,直到每一部分内只有一个记录为止。 20.在定义一个过程或者函数的时候又出现了调用本过程或者函数 的成分,既调用它自己本身,这称为直接递归。如果过程或者函数P调 用过程或者函数Q,Q又调用P,这个称为间接递归。消除递归一般要用 到栈这种数据结构。 21.哈密顿环是指一条沿着图G的N条边环行的路径,它的访问每个 节点一次并且返回它的开始位置。 22.当前选择的节点X[k]是从未到过的节点,即X[k]≠X[i](i=1,2, …,k-1),且C(X[k-1], X[k])≠∞,如果k=-1,则C(X[k], X[1]) ≠∞。 23. 思路是:最初生成树T为空,依次向内加入与树有最小邻接边 的n-1条边。处理过程:首先加入最小代价的一条边到T,根据各节点到 T的邻接边排序,选择最小边加入,新边加入后,修改由于新边所改变 的邻接边排序,再选择下一条边加入,直至加入n-1条边。 二、复杂性分析 1、 递归方程

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

《算法设计与分析》考试题目及答案(DOC)
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.重叠子问题性质与贪心选择性质
3. 所谓贪心选择性质是指(所求问题的整体最优解可以通过一系列局部最 优的选择,即贪心选择来达到)。
4. 所谓最优子结构性质是指(问题的最优解包含了其子问题的最优解)。 5. 回溯法是指(具有限界函数的深度优先生成法)。 6. 用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。在任 何时刻,算法只保存从根结点到当前扩展结点的路径。如果解空间树 中 从根结点到叶结点的最长路径的长度为 h(n),则回溯法所需的计算空间通 常为(O(h(n)))。 7. 回溯法的算法框架按照问题的解空间一般分为(子集树)算法框架与
12. 用回溯法解图} 的 m 着色问题时,使用下面的函数 OK 检查当前扩展结点的
每一个儿子所相应的颜色的可用性,则需耗时(渐进时间上限)(O(mn))。
Bool Color::OK(int k) {//
for(int j=1;j<=n;j++) if((a[k][j]= =1)&&(x[j]= =x[k])) return false;
f(n)个单位时间。用 T(n)表示该分治法解规模为|P|=n 的问题所需的计算时
间,则有:T (n)

kT (n
O(1) / m)
f
(n)
n 1 n 1

算法设计与分析复习题目及答案1

算法设计与分析复习题目及答案1

1一、选择题1、二分搜索算法是利用〔 A 〕实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、以下不是动态规划算法根本步骤的是〔 A 〕。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是〔 A 〕的搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4. 回溯法解旅行售货员问题时的解空间树是〔B 〕。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树5.以下算法中通常以自底向上的方式求解最优解的是〔 B 〕。

A、备忘录法B、动态规划法C、贪心法D、回溯法6、衡量一个算法好坏的标准是〔C 〕。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短7、以下不可以使用分治法求解的是〔D 〕。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题8. 实现循环赛日程表利用的算法是〔 A 〕。

A、分治策略B、动态规划法C、贪心法D、回溯法9.下面不是分支界限法搜索方式的是〔 D 〕。

1A、广度优先B、最小消耗优先C、最大效益优先D、深度优先10.以下算法中通常以深度优先方式系统搜索问题解的是〔 D 〕。

A、备忘录法B、动态规划法C、贪心法D、回溯法11.备忘录方法是那种算法的变形。

〔 B 〕A、分治法B、动态规划法C、贪心法D、回溯法12.哈弗曼编码的贪心算法所需的计算时间为〔 B 〕。

A、O〔n2n〕B、O〔nlogn〕C、O〔2n〕D、O〔n〕13.分支限界法解最大团问题时,活结点表的组织形式是〔 B 〕。

A、最小堆B、最大堆C、栈D、数组14.最长公共子序列算法利用的算法是〔 B 〕。

A、分支界限法B、动态规划法C、贪心法D、回溯法15.实现棋盘覆盖算法利用的算法是〔 A 〕。

A、分治法B、动态规划法C、贪心法D、回溯法〔 C 〕。

A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解17.回溯法的效率不依赖于以下哪些因素〔 D 〕A. 满足显约束的值的个数B. 计算约束函数的时间C. 计算限界函数的时间D. 确定解空间的时间〔 B 〕A.递归函数 B.剪枝函数 C.随机数函数 D.搜索函数19、下面关于NP问题说法正确的选项是〔B 〕A NP问题都是不可能解决的问题B P类问题包含在NP类问题中C NP完全问题是P类问题的子集D NP类问题包含在P类问题中20蒙特卡罗算法是〔 B 〕的一种。

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案一、概念题:请解释下列术语。

1.数据元素的集合。

2.队列是一个线性表,限制为只能在固定的一端进行插入,在固定的另一端进行删除。

3.对于算法a,如果存在一多项式p(),使得对a的每个大小为n的输入,a的计算时间为o(p(n)),则称a具有多项式复杂度4.二叉树的层数i与该层上的结点数n的关系为:n(i)=i2。

5.如果可满足性约化为一个问题L,则称该问题为NP-难度的。

6.算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。

7.多数据单指令流8.若图的任意两个节点间均存在路径可达,则称该图为连通图。

9. 是指一个数学模型以及定义在该模型上的一组操作。

10.算法的复杂度只能用指数函数对其限界。

11.函数或过程直接或间接调用它自己。

12.和高度相同的满二叉树的每个对应的顶点编号相同的树13.由所有可行状态所构成的树。

14.如果L时NP难度的且L∈NP,则称问题L是NP-完全的。

15.算法是一个步骤的序列,满足:有穷性、可行性、确定性、输入、输出;过程不需要满足由穷性。

16.有向图的每条边有起点与终点之分,且用箭头指向边的终点。

无向图的边无起点和终点之分,边无箭头。

17.树(tree)是一个或多个结点的有限集合,,它使得:①有一个特别指定的称作根(root)的结点;②剩下的结点被分成m≥0个不相交的集合tl,…,tm,这些集合的每一个都是一棵树,并称t1,…,tm为这根的子树(subtree)。

18.P是所有可在多项式时间内用确定算法求解的判定问题的集合。

19.运算结果是唯一确定的算法20. nP是所有可在多项式时间内用不确定算法求解的判定问题的集合二、填空题1.n2.O ( n )3.最优化问题4.宽度优先搜索5.结点的最大级数6.互异7.内结点和外结点8.方形9.内部路径长度、外部路径长度10.一次11.归并分类算法12.贪心选择性质13.最优子结构14.二元归并15.最小成本生成树16.最优性17.最优决策18.可容许最大成本c19.最小成本三、程序填空题。

(完整版)算法设计与分析考试题及答案

(完整版)算法设计与分析考试题及答案

一、填空题(20分)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.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的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个作业的最优调度方案,并计算最优值。

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

(完整版)算法设计与分析考试题及答案,推荐文档

(完整版)算法设计与分析考试题及答案,推荐文档
法好坏的标准是______________________。 3.某一问题可用动态规划算法求解的显著特征是
____________________________________。 4.若序列 X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列
X 和 Y 的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至

之分。
5、 f(n)= 6×2n+n2,f(n)的渐进性态 f(n)= O(
)
6、 贪心算法总是做出在当前看来
的选择。也就是说贪心算法并不从整体最优考
虑,它所做出的选择只是在某种意义上的

7、 许多可以用贪心算法求解的问题一般具有 2 个重要的性质:
性质和
性质。
二、简答题(本题 25 分,每小题 5 分)
五、算法理解题(本题 5 分) 设有 n=2k 个运动员要进行循环赛,
现设计一个满足以下要求的比赛日程表:
①每个选手必须与其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次;
③循环赛要在最短时间内完成。
我去(人1)如也果 就n=2k有,循人环赛!最少为需要U进R行扼几天腕; 入站内信不存在向你偶同意调剖沙 (2)当 n=23=8 时,请画出循环赛日程表。
六、算法设计题(本题 15 分) 分别用贪心算法、动态规划法、回溯法设计 0-1 背包问题。要求:说明所使用的算法
策略;写出算法实现的主要步骤;分析算法的时间。 七、算法设计题(本题 10 分)
建议收藏下载本文,以便随时学习! 通过键盘输入一个高精度的正整数 n(n 的有效位数≤240),去掉其中任意 s 个数字后, 剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 n 和 s,寻找一种方案, 使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13

算法设计与分析复习题目及答案

算法设计与分析复习题目及答案

分治法1、二分搜索算法是利用(分治策略)实现的算法。

9. 实现循环赛日程表利用的算法是(分治策略)27、Strassen矩阵乘法是利用(分治策略)实现的算法。

34.实现合并排序利用的算法是(分治策略)。

实现大整数的乘法是利用的算法(分治策略)。

17.实现棋盘覆盖算法利用的算法是(分治法)。

29、使用分治法求解不需要满足的条件是(子问题必须是一样的)。

不可以使用分治法求解的是(0/1背包问题)。

动态规划下列不是动态规划算法基本步骤的是(构造最优解)下列是动态规划算法基本要素的是(子问题重叠性质)。

下列算法中通常以自底向上的方式求解最优解的是(动态规划法)备忘录方法是那种算法的变形。

(动态规划法)最长公共子序列算法利用的算法是(动态规划法)。

矩阵连乘问题的算法可由(动态规划算法B)设计实现。

实现最大子段和利用的算法是(动态规划法)。

贪心算法能解决的问题:单源最短路径问题,最小花费生成树问题,背包问题,活动安排问题,不能解决的问题:N皇后问题,0/1背包问题是贪心算法的基本要素的是(贪心选择性质和最优子结构性质)。

回溯法回溯法解旅行售货员问题时的解空间树是(排列树)。

剪枝函数是回溯法中为避免无效搜索采取的策略回溯法的效率不依赖于下列哪些因素(确定解空间的时间)分支限界法最大效益优先是(分支界限法)的一搜索方式。

分支限界法解最大团问题时,活结点表的组织形式是(最大堆)。

分支限界法解旅行售货员问题时,活结点表的组织形式是(最小堆)优先队列式分支限界法选取扩展结点的原则是(结点的优先级)在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( 分支限界法).从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( 栈式分支限界法)之外都是最常见的方式.(1)队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。

(2)优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。

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

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

算法分析与设计试题及答案一、选择题1. 下列哪个是属于分治算法的例子?A. 冒泡排序B. 归并排序C. 顺序查找D. 选择排序答案:B2. 在排序算法中,时间复杂度最优的是:A. 冒泡排序B. 插入排序C. 归并排序D. 快速排序答案:C3. 哪个不是动态规划的特点?A. 具有重叠子问题B. 通过递归求解C. 需要保存子问题的解D. 具有最优子结构答案:B4. 在图的广度优先搜索算法中,使用的数据结构是:A. 栈B. 队列C. 数组D. 堆栈答案:B5. 在最小生成树算法中,下列哪个不属于贪心策略?A. Kruskal算法B. Prim算法C. Dijkstra算法D. Prim-Kruskal混合算法答案:C二、简答题1. 请简述分治算法的思想和应用场景。

答案:分治算法的思想是将原问题分解成若干个规模较小且类似的子问题,然后解决子问题,最后将子问题的解合并得到原问题的解。

其应用场景包括排序算法(如归并排序、快速排序)、搜索算法(如二分查找)等。

2. 什么是动态规划算法?请给出一个动态规划算法的示例。

答案:动态规划算法是一种通过将问题分解成子问题并解决子问题来解决复杂问题的方法。

它的特点是具有重叠子问题和最优子结构性质。

以斐波那契数列为例,可以使用动态规划算法求解每一项的值,而不需要重复计算。

3. 图的深度优先搜索和广度优先搜索有什么区别?答案:图的深度优先搜索(Depth First Search,DFS)是一种先访问子节点再访问兄弟节点的遍历算法,通常使用递归或者栈实现。

而广度优先搜索(Breadth First Search,BFS)则是以层次遍历的方式展开搜索,使用队列来实现。

DFS更适合用于搜索路径,BFS则适用于寻找最短路径等。

4. 请简述贪心算法的特点及其应用场景。

答案:贪心算法的特点是每一步都采取当前状态下最优的选择,以期望得到全局最优解。

然而,贪心算法并不一定能求解所有问题的最优解,但对于一些特定问题,贪心算法往往能得到近似最优解。

算法分析与设计复习题及参考答案

算法分析与设计复习题及参考答案

《算法分析与设计》课程复习资料一、名词解释:1.算法2.程序3.递归函数4.子问题的重叠性质5.队列式分支限界法6.多机调度问题7.最小生成树 二、简答题:1.备忘录方法和动态规划算法相比有何异同?简述之。

2.简述回溯法解题的主要步骤。

3.简述动态规划算法求解的基本要素。

4.简述回溯法的基本思想。

5.简要分析在递归算法中消除递归调用,将递归算法转化为非递归算法的方法。

6.简要分析分支限界法与回溯法的异同。

7.简述算法复杂性的概念,算法复杂性度量主要指哪两个方面? 8.贪心算法求解的问题主要具有哪些性质?简述之。

9.分治法的基本思想是什么?合并排序的基本思想是什么?请分别简述之。

10.简述分析贪心算法与动态规划算法的异同。

三、算法编写及算法应用分析题:1.已知有3个物品:(w1,w2,w3)=(12,10,6),(p1,p2,p3)=(15,13,10),背包的容积M=20,根据0-1背包动态规划的递推式求出最优解。

2.按要求完成以下关于排序和查找的问题。

①对数组A={15,29,135,18,32,1,27,25,5},用快速排序方法将其排成递减序。

②请描述递减数组进行二分搜索的基本思想,并给出非递归算法。

③给出上述算法的递归算法。

④使用上述算法对①所得到的结果搜索如下元素,并给出搜索过程:18,31,135。

3.已知1()*()i i k k ij r r A a +=,k =1,2,3,4,5,6,r 1=5,r 2=10,r 3=3,r 4=12,r 5=5,r 6=50,r 7=6,求矩阵链积A 1×A 2×A 3×A 4×A 5×A 6的最佳求积顺序(要求给出计算步骤)。

4.根据分枝限界算法基本过程,求解0-1背包问题。

已知n=3,M=20,(w1,w2,w3)=(12,10,6),(p1,p2,p3)=(15,13,10)。

算法设计与分析复习题目及答案 (1)

算法设计与分析复习题目及答案 (1)

一。

选择题1、二分搜索算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( B )。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是( B )。

A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是( B )。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是(C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。

A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。

算法设计与分析复习题目及参考答案

算法设计与分析复习题目及参考答案

算法设计与分析复习题目及参考答案算法设计与分析复习题目及参考答案一。

选择题1、二分搜索算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是( B )。

A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是( B )。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是(C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。

A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为(B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

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

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

《算法设计与分析》试卷及答案算法设计与分析考试复习试卷《算法设计与分析》试卷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、Fn=Fn-1+Fn-2B、h(n)= 2h(n-1)+1C、1D、h(1)= 1E、h(n)=2n-1F、06、在一个有向连通图中(如下图所示),找出点A到点B的一条最短路为____ ______。

A、最短路:1→3→5→8→10,耗费:20B、最短路:1→4→6→9→10,耗费:16。

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

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

一、填空题(20分)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.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的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个作业的最优调度方案,并计算最优值。

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

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

算法分析与设计(参考题及答案
26.下列不是动态规划算法基本步骤的是()。
A、找出最优解的性质 B、构造最优解
C、算出最优解 D、定义最优解
答案:A
27.对完全二叉树自顶向下,从左向右给节点编号,节点编号为10的父节点编号为( ).
A、0 B、2 C、4 D、6
答案:C
28.下面哪种函数是回溯法中为避免无效搜索采取的策略()
3.贪婪技术并不能够总是找到最优解。
A、正确 B、错误 答案:正确
4.对于任何权重的图,Dijkstra算法总能产生一个正确的解。
A、正确 B、错误 答案:错误
5.对于给定的字符表及其出现的概率,哈夫曼编码是唯一的。
A、正确 B、错误 答案:错误
6.贪婪算法是在每一步中,“贪婪”地选择最佳操作,并希望通过一系列局部的最优选择, 能产生一个整个问题的最优解。
一、单选题 1.下列函数关系随着输入量增大增加最快的是( )
A、log2n B、n2 C、2n D、n!
答案:C
2.实现循环赛日程表利用的算法是()。
A、分治策略 B、动态规划法 C、贪心法 D、回溯法
答案:A
3.最长公共子序列算法利用的算法是()。
A、分支界限法 B、动态规划法 C、贪心法 D、回溯法
答案:某个问题的最优解包含着其子问题的最优解。这种性质称为最优子结构性质。
3.简述动态规划方法所运用的最优化原理。
答案:“最优化原理”用数学化的语言来描述:假设为了解决某一优化问题,需要依次作出n个决策D1,D2,…,Dn,如若这 个决策序列是最优的,对于任何一个整数k,1<k<n,不论前面k个决策是怎样的,以后的最优决策只取决于由前面决策所确定 的当前状态,即以后的决策Dk+1,Dk+2,…,Dn也是最优的。

电大计算机本科_算法设计与分析(期末考试复习题含答案)

电大计算机本科_算法设计与分析(期末考试复习题含答案)

1、二分搜索算法是利用( A )实现的算法。

A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。

A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。

A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是( B )。

A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是( A )。

A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。

A、备忘录法B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是(C )。

A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。

A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。

A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。

A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。

A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。

( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。

A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。

A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。

算法设计与分析复习题目及答案

算法设计与分析复习题目及答案

算法设计与分析复习题目及答案一、算法的基本概念1、什么是算法?算法是指解决特定问题的一系列明确步骤,它具有确定性、可行性、有穷性、输入和输出等特性。

例如,计算两个数的最大公约数的欧几里得算法,就是通过反复用较小数去除较大数,然后将余数作为新的较小数,直到余数为 0,此时的除数就是最大公约数。

2、算法的复杂度包括哪些?它们的含义是什么?算法的复杂度主要包括时间复杂度和空间复杂度。

时间复杂度是指算法执行所需要的时间量,通常用大 O 记号来表示。

例如,一个算法的时间复杂度为 O(n),表示其执行时间与输入规模 n成正比。

空间复杂度则是算法在运行过程中所需要的额外存储空间的大小。

比如说,一个算法需要创建一个大小为 n 的数组来存储数据,那么其空间复杂度就是 O(n)。

二、分治法1、分治法的基本思想是什么?分治法的基本思想是将一个规模为 n 的问题分解为 k 个规模较小的子问题,这些子问题相互独立且与原问题结构相同。

然后分别求解这些子问题,最后将子问题的解合并得到原问题的解。

2、请举例说明分治法的应用。

例如归并排序算法。

将一个未排序的数组分成两半,对每一半分别进行排序,然后将排好序的两部分合并起来。

其时间复杂度为 O(nlogn),空间复杂度为 O(n)。

三、动态规划1、动态规划的基本步骤有哪些?动态规划的基本步骤包括:(1)定义问题的状态。

(2)找出状态转移方程。

(3)确定初始状态。

(4)计算最终的解。

2、解释最长公共子序列问题,并给出其动态规划解法。

最长公共子序列问题是指找出两个序列的最长公共子序列的长度。

假设我们有两个序列 X 和 Y,用 dpij 表示 X 的前 i 个字符和 Y 的前 j 个字符的最长公共子序列长度。

状态转移方程为:如果 Xi 1 == Yj 1,则 dpij = dpi 1j 1 + 1否则 dpij = max(dpi 1j, dpij 1)四、贪心算法1、贪心算法的特点是什么?贪心算法在每一步都做出当前看起来最优的选择,希望通过这种局部最优选择达到全局最优解。

《算法设计与分析》期末必考复习及答案题整理

《算法设计与分析》期末必考复习及答案题整理

《算法设计与分析》期末必考复习及答案题整理1、分治法的基本思想:是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题互相独立且与原问题相同。

递归地解这些子问题,然后将各子问题的解合并得到原问题的解。

2、贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择,3、 Prim算法:设G=(V,E)是连通带权图,V={1,2,…,n}。

构造G的最小生成树的Prim算法的基本思想是:首先置S={1},然后,只要S是V的真子集,就作如下的贪心选择:选取满足条件i?S,j?V-S,且c[j]最小的边,将顶点j添加到S 中。

这个过程一直进行到S=V时为止。

4、什么是剪枝函数:回溯法搜索解空间树时,通常采用两种策略避免无效搜索,提高回溯法的搜索效率。

其一是用约束函数在扩展结点处剪去不满足约束的子树;其二是用限界函数剪去得不到最优解的子树。

这两类函数统称为剪枝函数。

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

(2)在分支限界法中,每一个活结点只有一次机会成为扩展结点。

活结点一旦成为扩展结点,就一次性产生其所有儿子结点。

在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。

(3)此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程,这个过程一直持续到找到所需的解或活结点表这空时为止。

5、什么是算法的复杂性:是该算法所需要的计算机资源的多少,它包括时间和空间资源。

6、最优子结构性质:该问题的最优解包含着其子问题的最优解。

7、回溯法:是一个既带有系统性又带有跳跃性的搜索算法。

这在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。

算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。

如果肯定不包含,则跳过对以该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。

算法分析与设计考试复习题及参考答案jing

算法分析与设计考试复习题及参考答案jing

一、填空题1、算法的复杂性是算法效率2、的度量,是评价算法优劣的重要依据。

1、设n为正整数,利用大“O(·)”记号,将下列程序段的执行时间表示为n的函数,则下面程序段的时间复杂度为O(n)2、。

i=1; k=0;while(i<n) { k=k+10*i;i++; }3、计算机的资源最重要的是时间和空间资源。

因而,算法的复杂性有时间复杂度和空间复杂度之分。

3、f(n)= 6×2n+n2,f(n)的渐进性态f(n)= O( 2n4、 )5、递归是指函数直接或者间接通过一些语句调用自身。

4、分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立6、且与原问题相同。

二、选择题(本题20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者( B )。

A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同2、回溯法在解空间树T上的搜索方式是( A)。

A.深度优先B.广度优先C.最小耗费优先D.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B )。

A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题4、以下关于判定问题难易处理的叙述中正确的是( C )。

A.可以由多项式时间算法求解的问题是难处理的B.需要超过多项式时间算法求解的问题是易处理的C.可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的5、设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的阶( A )g(N)的阶。

A.不高于B.不低于C.等价于D.逼近6、对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为( B )。

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

算法设计与分析复习题目及答案Revised as of 23 November 2020分治法1、二分搜索算法是利用(分治策略)实现的算法。

9. 实现循环赛日程表利用的算法是(分治策略)27、Strassen矩阵乘法是利用(分治策略)实现的算法。

34.实现合并排序利用的算法是(分治策略)。

实现大整数的乘法是利用的算法(分治策略)。

17.实现棋盘覆盖算法利用的算法是(分治法)。

29、使用分治法求解不需要满足的条件是(子问题必须是一样的)。

不可以使用分治法求解的是(0/1背包问题)。

动态规划下列不是动态规划算法基本步骤的是(构造最优解)下列是动态规划算法基本要素的是(子问题重叠性质)。

下列算法中通常以自底向上的方式求解最优解的是(动态规划法)备忘录方法是那种算法的变形。

(动态规划法)最长公共子序列算法利用的算法是(动态规划法)。

矩阵连乘问题的算法可由(动态规划算法B)设计实现。

实现最大子段和利用的算法是(动态规划法)。

贪心算法能解决的问题:单源最短路径问题,最小花费生成树问题,背包问题,活动安排问题,不能解决的问题:N皇后问题,0/1背包问题是贪心算法的基本要素的是(贪心选择性质和最优子结构性质)。

回溯法回溯法解旅行售货员问题时的解空间树是(排列树)。

剪枝函数是回溯法中为避免无效搜索采取的策略回溯法的效率不依赖于下列哪些因素(确定解空间的时间)分支限界法最大效益优先是(分支界限法)的一搜索方式。

分支限界法解最大团问题时,活结点表的组织形式是(最大堆)。

分支限界法解旅行售货员问题时,活结点表的组织形式是(最小堆)优先队列式分支限界法选取扩展结点的原则是(结点的优先级)在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( 分支限界法 ).从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( 栈式分支限界法 )之外都是最常见的方式.(1)队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。

(2)优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。

(最优子结构性质)是贪心算法与动态规划算法的共同点。

贪心算法与动态规划算法的主要区别是(贪心选择性质)。

回溯算法和分支限界法的问题的解空间树不会是( 无序树 ).14.哈弗曼编码的贪心算法所需的计算时间为(B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O (n)21、下面关于NP问题说法正确的是(B )A NP问题都是不可能解决的问题B P类问题包含在NP 类问题中C NP完全问题是P类问题的子集D NP类问题包含在P类问题中40、背包问题的贪心算法所需的计算时间为(B )A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)42.0-1背包问题的回溯算法所需的计算时间为(A )A、O(n2n)B、O(nlogn)C、O(2n)D、O(n).47.背包问题的贪心算法所需的计算时间为(B )。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)53.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为 ( B ) 。

A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)56、算法是由若干条指令组成的有穷序列,而且满足以下性质( D )(1)输入:有0个或多个输入(2)输出:至少有一个输出(3)确定性:指令清晰,无歧义(4)有限性:指令执行次数有限,而且执行时间有限A (1)(2)(3) B(1)(2)(4) C(1)(3)(4) D (1) (2)(3)(4)57、函数32n+10nlog n的渐进表达式是( B ).A. 2nB. 32nC. nlog nD. 10nlog n59、用动态规划算法解决最大字段和问题,其时间复杂性为( B ).61、设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有下界g(N),记作f(N)∈○(g(N)),即f(N)的阶( A )g(N)的阶.A.不高于 B.不低于C.等价于 D.逼近二、填空题2、程序是算法用某种程序设计语言的具体实现。

3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。

6、算法是指解决问题的一种方法或一个过程。

7、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。

11、计算一个算法时间复杂度通常可以计算循环次数、基本操作的频率或计算步。

14、解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是动态规划,需要排序的是回溯法,分支限界法。

15、使用回溯法进行状态空间树裁剪分支时一般有两个标准:约束条件和目标函数的界,N皇后问题和0/1背包问题正好是两种不同的类型,其中同时使用约束条件和目标函数的界进行裁剪的是 0/1背包问题,只使用约束条件进行裁剪的是 N皇后问题。

30.回溯法是一种既带有系统性又带有跳跃性的搜索算法。

33.回溯法搜索解空间树时,常用的两种剪枝函数为约束函数和限界函数。

34.任何可用计算机求解的问题所需的时间都与其规模有关。

35.快速排序算法的性能取决于划分的对称性。

36. Prim算法利用贪心策略求解最小生成树问题,其时间复杂度是 O(n2) 。

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

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

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解背包问题的回溯算法所需的计算时间为__o(n*2n)__,用动态规划算法所需的计算时间为___o(min{nc,2n}_。

二、综合题(50分)1.写出设计动态规划算法的主要步骤。

①问题具有最优子结构性质;②构造最优值的递归关系表达式;3最优值的算法描述;④构造最优解;2.流水作业调度问题的johnson算法的思想。

①令N1={i|a i<b i},N2={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个作业的最优调度方案,并计算最优值。

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

解空间为{(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 最优解为:(1,1,0)5.设S={X1,X2,···,X n}是严格递增的有序集,利用二叉树的结点来存储S中的元素,在表示S 的二叉搜索树中搜索一个元素X,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=Xi ,其概率为bi。

(2)在二叉搜索树的叶结点中确定X∈(Xi,Xi+1),其概率为ai。

在表示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]= ai-1+bi+···+bj+aj,则m[i][j](1<=i<=j<=n)递归关系表达式为什么二叉树T的平均路长P=∑=+ni1Ci)(1*bi+∑=nj0dj*ajm[i][j]=W[i][j]+min{m[i][k]+m[k+1][j]} (1<=i<=j<=n,m[i][i-1]=0)m[i][j]=0 (i>j)6.描述0-1背包问题。

已知一个背包的容量为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))1.void sort(flowjope s[],int n){int i,k,j,l;for(i=1;i<=n-1;i++)ag!=0) k++;if(k>n) break;ag==0)if(s[k].a>s[j].a) k=j;swap(s[i].index,s[k].index);swap(s[i].tag,s[k].tag); }}l=i;<s[j].b) k=j;swap(s[i].index,s[k].index); ag,s[k].tag); }}2.void binarysearchtree(int a[],int b[],int n,int **m,int **s,int **w){int i,j,k,t,l;for(i=1;i<=n+1;i++){ w[i][i-1]=a[i-1];m[i][i-1]=0;}for(l=0;l<=n-1;l++)Init-single-source(G,s)2. S=Φ3. Q=V[G]Q<> Φdo u=min(Q)S=S∪{u}for each vertex 3do 4四、算法理解题(本题10分)根据优先队列式分支限界法,求下图中从v1点到v9点的单源最短路径,请画出求得最优解的解空间树。

要求中间被舍弃的结点用×标记,获得中间解的结点用单圆圈○框起,最优解用双圆圈◎框起。

五、算法理解题(本题5分)设有n=2k个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表:①每个选手必须与其他n-1名选手比赛各一次;②每个选手一天至多只能赛一次;③循环赛要在最短时间内完成。

相关文档
最新文档