计算机算法试题含解析2.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机算法试题含解析2

算法设计与分析试卷 填空题(20分,每空2分) 算法的性质包括输入、输出、___、有限性。 动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。 设计动态规划算法的4个步骤: 找出____,并刻画其结构特征。 _______。 _______。 根据计算最优值得到的信息,_______。 流水作业调度问题的johnson算法: 令N1=___,N2={i|ai=bj}; 将N1中作业依ai的___。 5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(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分) int maxsum(int n,int *a,int bestj) { intsum=0; for (int i=1;i=n;i++) for (int j=i;j=n;j++) int thissum=0; for(int k=i;k=j;k++)_____; if(thissumsum){ sum=thissum; ______; bestj=j;} } return sum; } 设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分) Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) { for(int i=0;i=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;rn;r++) for(int i=1;i=n-r;i++){ int j=i+r; w[i][j]=w[i][j-1]+a[j]+b[j]; m[i][j]=______; s[i][j]=i; for(int k=i+1;k=j;k++){ int t=m[i][k-1]+m[k+1][j]; if(_____) {m[i][j]=t; s[i][j]=k;} } m[i][j]=t; s[i][j]=k;} } 5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,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分) 参考答案: 填空题:确定性 分解成若干个子问题 最优解的性质 递归地定义最优值 以自底向上的方式计算出最优值 构造最优解 {i|aibi} ai的非减序排序;将N2中作业依bi的非增序排序 min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)} 最小平均查找长度 综合题:20 min{ai+T(N-{i},bi)}(1=i=n) thissum+=a[k] besti=i 0 m[i+1][j] tm[i][j] 法一:min(ai,bj)=min(aj,bi) 因为 min(a1,b2)=min(a2,b1) 所以 1→2 (先1后2) 由 min(a1,b3)=min(a3,b1) 得 1→3 (先1后3) 同理可得:最后为1→3→4→2 法二:johnson算法思想 N1={1,3,4} N2={2} N11={1,3,4} N12={2} 所以 N11→N12 得: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=k=J),且1=i=n/2,n/2+1=J=n。 2、(1)m(

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档