网络教育课程考试复习题及参考答案
算法分析与设计
一、名词解释:
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。
(k
3.已知kijri*ri1,k=1,2,3,4,5,6,r1=5,r2=10,r3=3,r4=12,r5=5,r6=50,r7=6,
A(a
求矩阵链积A1×A2×A3×A4×A5×A6的最佳求积顺序(要求给出计算步骤)。4.根据分枝限界算法基本过程,求解0-1背包问题。
已知n=3,M=20,(w1,w2,w3=(12,10,6,(p1,p2,p3=(15,13,10。
5.试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n公里,而旅途中有若干个加油站。试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少,请写出该算法。
6.试用动态规划算法实现下列问题:设A和B是两个字符串。我们要用最少的字符操作,将字符串A转换为字符串B,这里所说的字符操作包括:①删除一个字符。②插入一个字符。
③将一个字符改为另一个字符。请写出该算法。
7.对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。
>>>>>b
e
2
g
2
1
2
a