电子科技大学研究生算法设计与分析拟考题及答案评分细则 (1)
电子科技大学研究生算法设计与分析拟考题及答案评分细则 (2)
一、Please answer T or F for each of the following statements to indicate whether thestatement is true or false1. An algorithm is an instance, or concrete representation, for a computer programin some programming language. ( F )2. The following problem is a Decision Problem: What is the value of a bestpossible solution? ( F )3. The dynamic programming method can not solve a problem in polynomial time.( F)4. Assume that there is a polynomial reduction from problem A to problem B. Ifwe can prove that A is NP-hard, then we know that B is NP-hard. ( F )5. If one can give a polynomial-time algorithm for a problem in NP, then all theproblems NP can be solved in polynomial time. ( F )6. In an undirected graph, the minimum cut between any two vertices a and b isunique. ( F)7. Linear programming can be solved in polynomial time, but integer linearprogramming can not be solved in polynomial time. ( T )8. We can solve the maximum independent set problem in a graph with at most100 vertices in polynomial time. ( T ) 结论9. If an algorithm solves a problem of size n by dividing it into two subproblems ofsize n/2, recursively solving each subproblems, and then combine the solutions in linear time. Then the algorithm runs in O(n log n) time. ( T )10. Neural Computation, Fuzzy Computation and Evolution Computing are thethree research fields of Computational Intelligence. ( T )二、Given the following seven functions f1(n) = n5+ 10n4, f2(n) = n2+ 3n, f3(n) =f4(n) = log n + (2log n)3, f5(n) = 2n+n!+ 5e n, f6(n) = 3log(2n) + 5log n, f7(n) = 2n log n+log n n. Please answer the questions:第 1 页共5 页(a) Give the tight asymptotic growth rate (asymptotic expression with θ) to eachof them; (7分)(b) Arrange them in ascending order of asymptotic growth rate。
算法分析与设计作业参考答案
算法分析与设计作业参考答案《算法分析与设计》作业参考答案作业⼀⼀、名词解释:1.递归算法:直接或间接地调⽤⾃⾝的算法称为递归算法。
2.程序:程序是算法⽤某种程序设计语⾔的具体实现。
⼆、简答题:1.算法需要满⾜哪些性质?简述之。
答:算法是若⼲指令的有穷序列,满⾜性质:(1)输⼊:有零个或多个外部量作为算法的输⼊。
(2)输出:算法产⽣⾄少⼀个量作为输出。
(3)确定性:组成算法的每条指令清晰、⽆歧义。
(4)有限性:算法中每条指令的执⾏次数有限,执⾏每条指令的时间也有限。
2.简要分析分治法能解决的问题具有的特征。
答:分析分治法能解决的问题主要具有如下特征:(1)该问题的规模缩⼩到⼀定的程度就可以容易地解决;(2)该问题可以分解为若⼲个规模较⼩的相同问题,即该问题具有最优⼦结构性质;(3)利⽤该问题分解出的⼦问题的解可以合并为该问题的解;(4)该问题所分解出的各个⼦问题是相互独⽴的,即⼦问题之间不包含公共的⼦问题。
3.简要分析在递归算法中消除递归调⽤,将递归算法转化为⾮递归算法的⽅法。
答:将递归算法转化为⾮递归算法的⽅法主要有:(1)采⽤⼀个⽤户定义的栈来模拟系统的递归调⽤⼯作栈。
该⽅法通⽤性强,但本质上还是递归,只不过⼈⼯做了本来由编译器做的事情,优化效果不明显。
(2)⽤递推来实现递归函数。
(3)通过Cooper 变换、反演变换能将⼀些递归转化为尾递归,从⽽迭代求出结果。
后两种⽅法在时空复杂度上均有较⼤改善,但其适⽤范围有限。
三、算法编写及算法应⽤分析题: 1.冒泡排序算法的基本运算如下: for i ←1 to n-1 dofor j ←1 to n-i do if a[j]交换a[j]、a[j+1];分析该算法的时间复杂性。
答:排序算法的基本运算步为元素⽐较,冒泡排序算法的时间复杂性就是求⽐较次数与n 的关系。
(1)设⽐较⼀次花时间1;(2)内循环次数为:n-i 次,(i=1,…n ),花时间为:∑-=-=in j i n 1)(1(3)外循环次数为:n-1,花时间为:2.设计⼀个分治算法计算⼀棵⼆叉树的⾼度。
电大计算机本科_算法设计与分析(期末考试复习题含答案)
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.15..证明等式gcd(m,n)=gcd(n,m mod n)对每一对正整数m,n都成立.Hint:根据除法的定义不难证明:●如果d整除u和v, 那么d一定能整除u±v;●如果d整除u,那么d也能够整除u的任何整数倍ku.对于任意一对正整数m,n,若d能整除m和n,那么d一定能整除n和r=m mod n=m-qn;显然,若d能整除n和r,也一定能整除m=r+qn和n。
数对(m,n)和(n,r)具有相同的公约数的有限非空集,其中也包括了最大公约数。
故gcd(m,n)=gcd(n,r)6.对于第一个数小于第二个数的一对数字,欧几里得算法将会如何处理?该算法在处理这种输入的过程中,上述情况最多会发生几次?Hint:对于任何形如0<=m<n的一对数字,Euclid算法在第一次叠代时交换m和n, 即gcd(m,n)=gcd(n,m)并且这种交换处理只发生一次.7.a.对于所有1≤m,n≤10的输入, Euclid算法最少要做几次除法?(1次)b. 对于所有1≤m,n≤10的输入, Euclid算法最多要做几次除法?(5次)gcd(5,8)习题1.21.(农夫过河)P—农夫W—狼G—山羊C—白菜2.(过桥问题)1,2,5,10---分别代表4个人, f—手电筒4. 对于任意实系数a,b,c, 某个算法能求方程ax^2+bx+c=0的实根,写出上述算法的伪代码(可以假设sqrt(x)是求平方根的函数)算法Quadratic(a,b,c)//求方程ax^2+bx+c=0的实根的算法//输入:实系数a,b,c//输出:实根或者无解信息If a≠0D←b*b-4*a*cIf D>0temp←2*ax1←(-b+sqrt(D))/tempx2←(-b-sqrt(D))/tempreturn x1,x2else if D=0 return –b/(2*a)else return “no real roots”else //a=0if b≠0 return –c/belse //a=b=0if c=0 return “no real numbers”else return “no real roots”5.描述将十进制整数表达为二进制整数的标准算法a.用文字描述b.用伪代码描述解答:a.将十进制整数转换为二进制整数的算法输入:一个正整数n输出:正整数n相应的二进制数第一步:用n除以2,余数赋给Ki(i=0,1,2...),商赋给n第二步:如果n=0,则到第三步,否则重复第一步第三步:将Ki按照i从高到低的顺序输出b.伪代码算法DectoBin(n)//将十进制整数n转换为二进制整数的算法//输入:正整数n//输出:该正整数相应的二进制数,该数存放于数组Bin[1...n]中i=1while n!=0 do {Bin[i]=n%2;n=(int)n/2;i++;}while i!=0 do{print Bin[i];i--;}9.考虑下面这个算法,它求的是数组中大小相差最小的两个元素的差.(算法略) 对这个算法做尽可能多的改进.算法MinDistance(A[0..n-1])//输入:数组A[0..n-1]//输出:the smallest distance d between two of its elements习题1.31.考虑这样一个排序算法,该算法对于待排序的数组中的每一个元素,计算比它小的元素个数,然后利用这个信息,将各个元素放到有序数组的相应位置上去.a.应用该算法对列表‖60,35,81,98,14,47‖排序b.该算法稳定吗?c.该算法在位吗?解:a. 该算法对列表‖60,35,81,98,14,47‖排序的过程如下所示:b.该算法不稳定.比如对列表‖2,2*‖排序c.该算法不在位.额外空间for S and Count[] 4.(古老的七桥问题)习题1.41.请分别描述一下应该如何实现下列对数组的操作,使得操作时间不依赖数组的长度. a.删除数组的第i 个元素(1<=i<=n)b.删除有序数组的第i 个元素(依然有序) hints:a. Replace the i th element with the last element and decrease the array size of 1b. Replace the ith element with a special symbol that cannot be a value of the array ’s element(e.g., 0 for an array of positive numbers ) to mark the i th position is empty. (―lazy deletion ‖)第2章 习题2.17.对下列断言进行证明:(如果是错误的,请举例) a. 如果t(n )∈O(g(n),则g(n)∈Ω(t(n)) b.α>0时,Θ(αg(n))= Θ(g(n)) 解:a. 这个断言是正确的。
计算机专业研究生复试-算法设计与分析面试简答题
算法设计与分析1.简述算法定义、属性及指标算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。
算法具有以下几个属性:●输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
●输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
●有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
●确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口●可行性(可选):一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
质量指标:●正确性:算法应满足具体问题的需求;●可读性:算法应该好读,以有利于读者对程序的理解;●健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。
●效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。
一般这两者与问题的规模有关。
2.什么是算法分析,怎么做算法设计●算法分析分为算法正确性分析和复杂性分析。
1.算法正确性分析确保算法对符合要求的输入在有限时间内能产生正确的结果。
2.算法的复杂性分析,分析算法对不同输入所需资源量,为求解一个问题选择最佳算法、最佳设备。
●怎么做算法设计:1.确定算法解决问题的目标,也是问题需求分析;2.分析问题输入输出的数据类型及结构;3.尝试匹配已有的算法解决方案,选择合适的算法模型;4.对算法模型的参数或局部计算过程进行设计;5.检查算法运行的效果并进行改进,使其达到最优;对于一些未知领域的算法设计方式更像是艺术而不像是科学,需要基础领域知识结合计算机算法技术来实现。
3.什么是算法复杂性算法复杂性包括时间复杂度和空间复杂度。
时间复杂度指程序执行时所用的时间;空间复杂度指算法占用的空间(两种占用:存储程序和输入数据的空间、存储中间结果或操作单元所占用空间——额外空间)。
西安电子科技大学《算法设计与分析》随课上机作业题
confidenceHigh()
= 0.5948351426485464
Example values after creating PercolationStats(2, 100000)
mean()
= 0.6669475
stddev()
= 0.11775205263262094
confidenceLow()
// does the system percolate?
public static void main(String[] args) // test client, optional
}
约定行 i 列 j 下标在 1 和 N 之间,其中(1, 1)为左上格点位置:如果 open(), isOpen(), or isFull()不在这个规定
-2-
问题。 在一个著名的科学问题中,研究人员对以下问题感兴趣:如果将格点以概率 p 独立地设置为 open 格点(因此以概率 1-p 被设置为 blocked 格点),系统渗透的概率是多少? 当 p = 0 时,系统不会渗出; 当 p=1 时,系统渗透。 下图显示了 20×20 随机网格(左)和 100×100 随机网格(右)的格点空置概率 p 与 渗滤概率。
《算法设计与分析》考试题目及答案(DOC)
Typew cleft = c - cw; // 剩余容量
Typep b = cp;
// 结点的上界
// 以物品单位重量价值递减序装入物品
while (i <= n && w[i] <= cleft) {
cleft -= w[i];
b += p[i];
i++;
} // 装满背包
if (i <= n) (b += p[i]/w[i] * cleft);
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) };
f(n)个单位时间。用 T(n)表示该分治法解规模为|P|=n 的问题所需的计算时
间,则有:T (n)
kT (n
O(1) / m)
f
(n)
n 1 n 1
通过迭代法求得
T(n)的显式表达式为:T (n)
nlogm k
logm n1
C.最优子结构性质与重叠子问题性质 D. 预排序与递归调用
7. 回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。 A. 广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先
8. 分支限界法在问题的解空间树中,按(A)策略,从根结点出发搜索解空间 树。
A. 广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先
(完整版)算法设计与分析考试题及答案,推荐文档
____________________________________。 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
电子科技大学研究生算法设计与分析拟考题及答案评分细则(3)
电子科技大学研究生算法设计与分析拟考题及答案评分细则(3)一、Please answer T or F for each of the following statements to indicate whether the statement is true or false1. The knapsack problem can be solved in polynomial time by using dynamic programming.( F )2. Some problems in NP can be solved in polynomial time.( T )3. To show a problem is NP-hard, we can reduce it to a well-known NP-Complete problem.( F )4. In an undirected graph, the value of the maximum flow between two vertices is equivalent to the value of the minimum cut between them. ( T )5. . ( F )二、Arrange the following functions in ascending asymptotic order of growth rate:,,,,.参考答案:f2,f3,f1,f4,f5三、Please answer the following questions:(a) What are the main steps of designing a dynamic programming algorithm?参考答案:1.定义子问题;2根据子问题建立递归关系式;3用自底而上的方式求解(建立储存表)。
(b) What are the main steps of proving the NP-Completeness of a problem?参考答案:1.证明该问题属于NP;2.选一个已知的NPC问题B;3.将问题B归约到该问题上。
电子科技大学 数值分析研究生期末考试
1 0 2 0
1
A
0 1
1 2
0 4
1
3
,
b
0 4
0
1
0
3
2
计算矩阵 A 的 LU 分解,并求出方程的解.
解:矩阵 A 的 LU 分解为
1
1 0 2 0
A
LU
0 1
1 2
1
1
0
1
2 1
0
1
0
1
2
方程组的精确解为 x (1,-1,1,1)T .
4. 给定求积公式 1 f (x)dx Af (0) Bf (0.5) Cf (0) ,试确定 A, B, C ,使其代数精度尽可能的高,并 0
指明此时求积公式的代数精度.
解:分别将 f (x) 1, x, x2 ,代入求积公式,可得
1
A B
1
2
B 1B 4
C
1 0
1 dx 1,
解:由于高斯求积公式为
1
f (x)dx
1
n
Ak
k 0
f (xk ) ,其中 xk 是 Pn1 (x) 的零点.
首先将积分区间转化
为[1,1] .令 x t 2 则 x [1,3] 时 t [1,1] .而
I 3 e x sin xdx 1 et2 sin(t 2)dt 令 g(t) et2 sin(t 2)
yn1
yn
h[f 2
(xn ,
yn )
f
(xn1, yn1)]
是二阶的,并求出局部截断误差的主项.
证:局部截断误差为
Tn1
y(xn1)
y(xn )
电子科技大学数值分析研究生期末考试习题答案
y1 y2 y3
10 1360
,可得
y1 y2
y3
10 6 4
3
1 求解
1 1
5 3
x1
3
2 1
x2 x3
2
2 3
0 0
0 0
4 4
4 4
由
0 1 1 44
0 I B0 1
4
1 4
1 4
1 4 2 ( 1)( 1) 0 22
0
1 1 0 44
可知,
(B0
)
1 2
.
(b)由 G (D L)1U
1 0
0 0 01 0 0 1 1
1 axk1 (1 ax0 )2k1 , k 0,1,2,,解得
xk
1 a
[1
(1
ax0
)
2k
],
k 0,1,2, ,
lim
k
xk
1 a
lim(1
k
ax0
)2
k
0
1 1
ax0
1
0
x0
2 a
,
所以当 0
x0
2 a
时,方法收敛.
4 4
1 4
1 4
0 0 1 0
0
0 0
4 1 4 0
0
算法设计与分析(博士考试)
一、单选题(每小题1分,共10分)1、下列函数中,渐近紧致界为)(2n Θ的是( C )。
A .2log n ;B .n 3;C .24100n n +;D .n n 210/2+ 。
2、下列函数中,渐近非紧上界为)(2n o 的是( D )。
A .n n 2/1+;B .34log 10n n +;C .n n 22+;D .2110+n 。
3、以下描述中,不正确的有( A )。
A .在渐进复杂性概念下,等式)(42/1n O n =在16=n 时成立;B .在渐进复杂性概念下,有)2(21n n O =+成立;C .在渐进复杂性概念下,n 与n n sin 1+无法渐近比较;D .对于任意函数0)(≥n g , =))(())((n g w n g o Φ(Φ为空集)。
4、在快速排序中,以下描述不正确的是( D )。
A .在快速排序,最好时间复杂性和平均时间复杂性均为)log (n n O ;B .若精心挑选一个划分元,每次经过Partition 算法后,分成两个子问题,从而使得 其 最坏时间复杂性为)log (n n O ;C .若随机挑选一个划分元,每次经过RandomizedPartition 算法后,分成两个期望均长的子问题,从而使得其期望时间复杂性为)log (n n O ;D .不管是精心挑选还是随机挑选划分元,快速排序的最坏时间复杂性均为)(2n O 。
6、Dijkstra 算法是解单源最短路径问题的一个贪心算法,工作过程与Prim 算法是一样的,不同点在于它比较的是路径的长度而不是边的长度。
以下哪种权重的图,Dijkstra 算法总是能够产生一个正确的解。
( D )A .自然数;B .整数;C .实数;D .非负实数。
8、分支限界法与回溯法都是在问题的解空间树T 上搜索问题的解,二者(B )。
A .求解目标不同,搜索方式相同; B .求解目标不同,搜索方式也不同; C .求解目标相同,搜索方式不同; D .求解目标相同,搜索方式也相同。
《算法分析与设计》期末试题及参考答案
《算法分析与设计》期末试题及参考答案一、简要回答下列问题:1.算法重要特性是什么?1. 确定性、可行性、输入、输出、有穷性2.2.算法分析的目的是什么?2. 分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。
3.3.算法的时间复杂性与问题的什么因素相关?3. 算法的时间复杂性与问题的规模相关,是问题大小n的函数。
4.算法的渐进时间复杂性的含义?4.当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。
时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。
5.最坏情况下的时间复杂性和平均时间复杂性有什么不同?5. 最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时,不同输入实例下的算法所耗时间。
最坏情况下的时间复杂性取的输入实例中最大的时间复杂度:W(n) = max{ T(n,I) } , I∈Dn平均时间复杂性是所有输入实例的处理时间与各自概率的乘积和:A(n) =∑P(I)T(n,I) I∈Dn6.简述二分检索(折半查找)算法的基本过程。
6. 设输入是一个按非降次序排列的元素表A[i:j] 和x,选取A[(i+j)/2]与x比较,如果A[(i+j)/2]=x,则返回(i+j)/2,如果A[(i+j)/2]<x,则A[i:(i+j)/2-1]找x,否则在A[ (i+j)/2+1:j] 找x。
上述过程被反复递归调用。
7.背包问题的目标函数和贪心算法最优化量度相同吗?7. 不相同。
目标函数:获得最大利润。
最优量度:最大利润/重量比。
8.采用回溯法求解的问题,其解如何表示?有什么规定?8. 问题的解可以表示为n元组:(x1,x2,……x n),x i∈S i, S i为有穷集合,x i∈S i, (x1,x2,……x n)具备完备性,即(x1,x2,……x n)是合理的,则(x1,x2,……x i)(i<n)一定合理。
算法设计与分析考试题及答案
一、填空题(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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、计算题或者简答题
1. 有一些区间段(0,3), (1,4), (3,5), (6,8),(7,9),给出个数最多的一组相容的区
间段(两个区间相容当且仅当两个区间的交集为空)。
2. 如下可满足问题(SAT)是否有解,若有解该如何给变量赋值:
3. 求如下有向图中的一个最长路径,要求给出路径和路径长度的值。
4.智能计算,并行计算概念
二、将下列函数按照渐进增长率由大到小进行排列,并给出你的判断依据:
三、有一堆货物需要被运走,现在有三种运货车:推车的容量最小,小货车的容
量是推车容量的2倍,大货车的容量是两辆小货车的容量加上一辆推车的容量。
假设以上三种车的数量都非常多。
现在要求你设计一种方案派出最少辆车将货物全搬走,其中除了推车以外其它三种车都必须装满才能发车。
为这个问题设计一个算法,并证明该算法的正确性。
提示:贪心算法
四、求如下图中s和t间的最小割。
五、对某个输入为n的问题有如下四个分而治之算法:
算法1将该问题分成2个子问题,子问题大小为n/3,将子问题的解合并得到上一级问题的解需要O(n)时间;
算法2将该问题分成3个子问题,子问题大小为n/2,将子问题的解合并得到上一级问题的解需要O(n)时间;
算法3
第 1 页共2 页
六、为最大独立集问题建立一个整数规划模型。
七、一个图中的一组边集A满足如下性质则称A为一个独立匹配:A中任何两
条边都没有公共顶点,任意两个来自A中两条不同边的顶点之间都不存在一条边。
证明求一个图中最大独立匹配(含有最多条边的独立匹配)是NP 难的。
(提示:可以考虑利用最大独立集问题来构造归约)
八、子集和问题定义如下:输入为一个有n个正整数的集合A和一个正整数k,
问是否存在A的一个子集合其中所有元素之和正好等于k。
为子集和问题设计一个动态规划算法,并用你的算法对如下实例进行求解(要求画出表格):A={2,3,7,8,9},k=18.
九、叙述带权重的点覆盖问题(Weighted Vertex Cover Problem)的竞价法(Pricing
Method),并证明这个算法是个2倍近似算法。
竞价法(参考PPT讲义)
2倍近似率的证明(参考PPT讲义)
十、利用超递增序列设计多维数据的聚合与提取;
第 2 页共2 页。