欢迎来到天天文库
浏览记录
ID:39980726
大小:58.82 KB
页数:9页
时间:2019-07-16
《计算机算法精彩试题含问题详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。(2)_______。(3)_______。(4)根据计算最优值得到的信息,_______。4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i
2、ai>=bj};(2)将N1中作业依ai的___。5、对于流水作业高度问题,必存在一个
3、最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。6、最优二叉搜索树即是___的二叉搜索树。二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)文案大全实用文档3、最大子段和问题的简单算法(10分)intmaxsum(intn,int*a,int&bestj){intsum=0;for(inti=1;i<=n;
4、i++)for(intj=i;j<=n;j++)intthissum=0;for(intk=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}returnsum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree?(15分)VoidOptimalBinarysearchTree(inta,intn,int**m,int**w){for(inti=0;i<=n;i++){w[i+1][i]=a[i];m[i+1]
5、[i]=____;}for(intr=0;r6、b3,b4)=(6,2,9,15)用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式?(10分)3、0——1背包求最优值的步骤分为哪几步?(10分)文案大全实用文档参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算7、出最优值构造最优解{i8、ai9、3→4→2法二:johnson算法思想N1={1,3,4}N2={2}N¹1={1,3,4}N¹2={2}所以N¹1→N¹2得:1→3→4→2简答题:1、文案大全实用文档(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。(2)a[1:n]的最大子段和与的最大子段a[n/2+1:n]和相同。(3)a[1:n]的最大子段和为∑ak(i==wi)或则m(i,j)=m(10、i+1,j)(0<=j=wn或则m(n,j)=00<=j
6、b3,b4)=(6,2,9,15)用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式?(10分)3、0——1背包求最优值的步骤分为哪几步?(10分)文案大全实用文档参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算
7、出最优值构造最优解{i
8、ai9、3→4→2法二:johnson算法思想N1={1,3,4}N2={2}N¹1={1,3,4}N¹2={2}所以N¹1→N¹2得:1→3→4→2简答题:1、文案大全实用文档(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。(2)a[1:n]的最大子段和与的最大子段a[n/2+1:n]和相同。(3)a[1:n]的最大子段和为∑ak(i==wi)或则m(i,j)=m(10、i+1,j)(0<=j=wn或则m(n,j)=00<=j
9、3→4→2法二:johnson算法思想N1={1,3,4}N2={2}N¹1={1,3,4}N¹2={2}所以N¹1→N¹2得:1→3→4→2简答题:1、文案大全实用文档(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。(2)a[1:n]的最大子段和与的最大子段a[n/2+1:n]和相同。(3)a[1:n]的最大子段和为∑ak(i==wi)或则m(i,j)=m(
10、i+1,j)(0<=j=wn或则m(n,j)=00<=j
此文档下载收益归作者所有