1、请将此过程填入下表中。迭代Sudist2dist3dist4dist5初始1-10maxi nt30100123最长公共子予列问题:给定2个序咧 X=x1x2,xm-和 Y=y1,y2,yn,找出X和Y的最长公共子序列由最长公共子序列问题的最优子结构性质建立子问题最优值的递归关系用cij记录序列Xi和Yj的最长公共子序列的长度。其中, Xi=x1,x2,xi;Yj=y1,y2,yj。当i=0或j=0时,空序列是Xi和Yj的最长公共子序列。故此时Cij=0。其它情况下,由最优子结构性质可建立递归关系如下:0 i 0, j 0ci j ci 1j 1 1 i,j 0;x yjmaxci j 1,c
2、i 1 j i, j 0必 yj在程序中,bij记录Cij的值是由哪一个子问题的解得到的。三、算法理解1、写出多段图最短路经动态规划算法求解下列实例的过程,并求出最优值。I 3/ 心 l:8各边的代价如下:C(1,2)=3 , C(1,3)=5,C(1,4)=2C(2,6)=8 , C(2,7)=4,C(3,5)=5 , C(3,6)=4 , C(4,5)=2 , C(4,6)=1C(5,8)=4 , C(6,8)=5,C(7,8)=6解:Cost(4,8)=0Cost(3,7)= C(7,8)+0=6,D5=8Cost(3,6)= C(6 , 8)+0=5, D6=8Cost(3,5)= C
3、(5 , 8)+0=4 D7=8Cost(2,4)= minC(4 , 6)+ Cost(3,6), C(4 , 5)+ Cost(3,5)=mi n1+ 5, 2+4=6 D4=6Cost(2,3)= minC(3 , 6)+ Cost(3,6) =mi n4+5=9 D3=5Cost(2,2)= minC(2 , 6)+ Cost(3,6), C(2 , 7)+ Cost(3,7)=min8+5, 4+6=10D2=7Cost(1,1)= mi nC(1,2)+ Cost(2,2), C(1,3)+ Cost(2,3), C(1,4)+ Cost(2,4)=min3+10, 5+9,2+6
4、= 8D1=41 t 4 t 6 t 82、写出maxmin算法对下列实例中找最大数和最小数的过程。数组 A=(48,12,61,3,5,19,32,7)写出maxmin算法对下列实例中找最大数和最小数的过程。数组A=()1、 48,12,61,3, 5,19,32,72、48,1261,35,1932,73、4861,12319 32 ,574、6132355、611、快速排序算法对下列实例排序,算法执行过程中,写出数组A第一次被分割的过程。A=(65,70,75,80,85,55,50,2)第一个分割元素为 65(1) (2) (3) (4)(6)(8) i p65 70 /5 80 85
5、 55 50 2 2 865758085555070746-55 70 75 80 85 65 50 2A=(48,12,61,3,5,19,32,7)解:48,12,61,35,19,32,712,483,617,323, 12, 48, 615, 7, 19 ,3,5, 7,12 , 19 ,32 , 48,613、写出图着色问题的回溯算法的判断Xk是否合理的过程。i 0while ik doif Gk,i=1 and Xk= Xi then return falsei i+1repeatif i= k the n retur n true4、对于下图,写出图着色算法得出一种着色方案的过程
6、。4.X1 1 ,返回 trueX21,返回 false; X2-X2+1=2,返回trueX31 ,返回 false; X3X3+1=2,false;X3+1=3,返回 trueX4 X4X4+1=2,X4+1=3,找到一个解 (1 , 2, 3 , 3 )5、写出第7题的状态空间树。X2=28、写出归并排序算法对下列实例排序的过程。(6,2,935,1,8,7)调用第一层次6,2,9,35,1,8,7分成两个子问题调用第二层次6,29,35,18,7 分成四个子问题调用第三层次6 29 351 8 7分成八个子问题调用第四层次只有个元素返回上一层第三层归并2 ,63, 91,5 7,8返回
7、上一层第二层归并2 ,3,6, 91,5,7,8第一层归并 ,1,2 ,3, 5 ,6, 7, 8,9排序结束,返回主函数9、写出用背包问题贪心算法解决下列实例的过程。P=(18,12,4,1)W=(12,10,8,3)M=25实例符合P(i)/W(i)P(i+1)/W(i+1) 的顺序。CU 25,X 0W1 CU:x1 1; CU CU-W1=13;W2CU:x3 CU/ W3=3/8;实例的解为:(1 , 1 , 3/8 , 0)11、有一个有序表为1 , 3, 9, 12 , 32 , 41 , 45 , 62 , 75 , 77 , 82 , 95 , 100,当 使用二分查找值为
8、82的结点时,经过多少次比较后查找成功并给出过程。有一个有序表为1,3,9,12,32,41,45,62,75,77, 82,95,100,当使用 二分查找值为82的结点时,经过多少次比较后查找成功并给出过程。一共要要执行四次才能找到值为 82的数。12、使用prim算法构造出如下图 G的一棵最小生成树。dist(1,2)=6;dist(2,5)=3;dist(5,6)=6;dist(6,4)=2;dist(4,1)=5;dist(1,3)=1;dist(2,3)=5;dist(3,4)=5;dist(3,6)=4;dist(5,3)=6使用普里姆算法构造出如下图 G的一棵最小生成树。13、有
9、如下函数说明 int f(int x,i nt y)f=x Mod y +1;已知a=10,b=4,c=5 则执行k=f(f(a+c,b),f(b,c) 后,k的值是多少并写出详细过程。有如下函数说明int f(int x,i nt y)K的值是5四、设计算法1.设有n项独立的作业1,2,,n,由m台相同的机器加工处理。作业 i所需要的处理时间为ti。约定:任何一项作业可在任何一台机器上处理,但未完工前不准中断处理;任何作业不能拆分更小的子作业。多机调度问题要求给出一种调度方案,使所给的 n个作业在尽可能短的时间内由 m台机器处理完。设计算法,并讨论是否可获最优解。对于处理机j,用Sj表示处理
10、机j已有的作业数,用 Pj,k表示处理机j的第k个作业的序号。1) 将作业按照t1 t2 2)S1:m清零 j-03)for i 1 to n doj j mod m +1Sj Sj+1;趙n排序/从第一个处理机开始安排/安排n个作业/选下一个处理机Pj,S川i ;Repeat2设有n种面值为:羽n的钱币,需要找零钱 M,如何选择钱币dk,的数目Xk,满足diXXi +dn XXn M,使得Xi +Xn最小请选择贪心策略,并设计贪心算法。贪心原则:每次选择最大面值硬币。CU J M;i J 1;X J0 / X 为解向量While CU 工0 doXi j CU div di / Xi为第 i 中硬币数CU J CU-di*Xii j i+1;3.有 n 个物品,已知 n=7,利润为 P=(10,5,15,7,6,18,3),重量 W=(2,3,5,7,1,4,1),背包容积M=15,物品只能选择全部装入背包或不
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1