算法設计题目_pdf.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法設计题目_pdf

第 2章 1、大整数乘法的 O(nm )算法 log(3/2) 给定 2个大整数 u和 v,它们分别有 m位和 n位数字,且 m≤n。 用通常的乘法求 uv的值需要 O(mn)时间。可以 u和 v均看作是有 n 位数字的大整数,用教材第 2章介绍的分治法,在 O(nlog3)时间内计 算 uv的值。当 m比 n小得多时,用这种方法就显得效率不够高。试 设计一个算法,在上述情况下用 O(nmlog(3/2))时间求出 uv的值。 2、O(1)空间子数组换位算法 设 a[0:n-1]是一个有 n个元素的数组,k(1≤k≤n-1)是一个非负整 数。试设计一个算法将子数组 a[0:k-1]与 a[k+1:n-1]换位。要求算法 在最坏情况下耗时 O(n),且只用到 O(1)的辅助空间。 3、√段合并排序算法 如果在合并排序算法的分割步骤中,将数组 a[0:n-1]划分为?√ ? 个子数组,每个子数组中有 O(√ )个元素。然后递归地对分割后的子 数组进行排序,最后将所得到的?√ ?个排好序的子数组合并成所要的 排好序的数组 a[0:n-1]。设计一个实现上述策略的合并排序算法,并 分析算法的计算复杂性。 4、合并排序算法 对拨给元素存储于数组和存储于链表中的 2种情形,写出合并排 序算法。 5、非增序快速排序算法 如何修改 QuickSort才能使其将输入元素按非增序排序? 第三章 1、整数线性规划问题 考虑下面的整数线性规划问题 ∑ =1 ∑ ≤ =1 为非负整数,1≤ ≤ { 试设计一个解此问题的动态规划算法,并分析算法的计算复杂性。 2、Ackermann函数 Ackermann函数 A(m,n)可递归地定义如下: +1 =0 A(m,n)={ ( ?1,1) 0, =0 ( ?1, ( , ?1)) 0, 0 试设计一个计算 A(m,n)的动态规划算法,该算法只占用 O(m)空间。 3、独立任务最优调试问题 问题描述:用 2台机 A和 B处理 n个作业。设第 i个作业交给机器 A 处理时需要时间 ai,若由机器 B来处理,则需要时间 bi。由于各作业 的选战和机器的性能关系,很可能对于某些 i,有 ai≥bi,而对于某 些 j,j≠i,有 aibj。既不能将一个作业分开由 2台机器处理,也没 有一台机器能同时处理 2个作业。设计一个动态规划算法,使得这 2 台机器处理完这 n个作业的时间最短(从任何一台机器开工到最后一 台机器停工的总时间)。研究一个实例:(a1,a2,a3,a4,a5,a6)= (2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4, 11,3,4)。 算法设计:对于给定的 2台处理机 A和 B处理 n个作业,找出一个 最优调试方案,使 2台机器焉得完这 n个作业的时间最短。 数据输入:由文件 input.txt提供输入数据。文件的第 1行是 1个正 整数 n,表示要处理 n个作业。在接下来的 2行中,每行有 n个正整 数,分别表示处理机 A和处理机 B处理第 i个作业需要的处理时间。 结果输出:将计算出的最短处理时间输出到文件 output.txt。 输入文件示例 input.txt 6 输出文件示例 output.txt 15 2 5 7 10 5 2 3 8 4 11 3 4 4、三角形问题 问题描述:给定一个由 n行数字组成的数字三角形,如下图所示。试 设计一个算法,计算出从三角形的顶到底的一条路径,使该路径经过 的数字总和最大。 7 3 7 8 4 8 5 1 2 0 6 2 4 4 5 编程任务:对于给定的由 n行数字组成的数字三角形,编程计算从三 角形的顶到底的路径经过的数字和的最大值。 数据输入:由文件 input.txt提供输入数据。文件的第 1行是数字三 角形的行数 n,1≤n≤100。接下来 n行是数字三角形各行中的数字。 所有数字在 0~99之间。 结果输出:程序运行结束时,将计算结果输出到文件 output.txt中。 文件第 1行中的数是计算出的最大值。 输入文件示例 输出文件示例 output.txt 30 Input.txt 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 5、租用游艇问题 问题描述:长江游艇俱乐部在长江上设置了 n个游艇出租站 1,2,……, n。游客可在游艇站租用游艇,并在下游的任何一个游艇站归还游艇。 游艇站 i到游艇出租站 j之间的租金为 r(i,j),1≤ij≤n。试设计一 个算法,计算出从游艇出租站 1到游艇出租站 n所需的最少

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档