算法设计与分析(三).ppt

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

然后:将PL、PR和上面的QL、QR带入递归过程进行处理,PL、 PR是按照x坐标排序的点集,QL、QR是按照y坐标排序 的点集。 最后:当递归调用返回时,扫描Q表,删除其x坐标不在带内的 所有点。此时Q中就只含有带中的点,而且这些点已是 按照y坐标排好序了的。这一处理需要O(n)的时间。 综上所述,所有附加工作的总时间为O(n),则整个算法的 计算时间为 作业题: 1. 棋盘覆盖问题。 在一个2k x 2k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。如图1所示,蓝色的为特殊方格: 棋盘覆盖问题是指,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 试用分治法设计一个求解棋盘覆盖问题的算法。 图1 特殊棋盘,蓝色的为特殊方格 图2 四中L形骨牌 2.大整数乘积 大整数(big integer):位数很多的整数,普通的计算机不能直接处理,如: 9834975972130802345791023498570345 显然,这样的整数普通的计算机和程序语言是无法直接表示的。 大整数运算:给定两个n位的整数I,J, 加、减法:可以用O(n)的时间计算出I+J和I-J,即使I、J是大整数; 乘法:若I、J超过普通计算机可以表示的数据范围,怎么计算IxJ? 如 I = 9834975972135791023498570345 J = 3432450018098972347892345023 方法一:按照小学数学的方法,“列算式”直接求解。适当地编制算法,可以实现大整数乘,但时间复杂度为O(n2)。 方法二:利用分治法设计一个计算两个n二进制位的大整数相乘的算法,要求计算时间低于O(n2)。分析你所给出的算法的时间复杂度。 3. 《计算机算法基础》P99,4.5 4. 《计算机算法基础》P100,4.20 5. 《计算机算法基础》P100,4.25 第一条特征是绝大多数问题都可以满足的,因为问题的计算复杂性一般是随着问题规模的增加而增加; 第二条特征是应用分治法的前提它也是大多数问题可以满足的,此特征反映了递归思想的应用; 第三条特征是关键,能否利用分治法完全取决于问题是否具有第三条特征,如果具备了第一条和第二条特征,而不具备第三条特征,则可以考虑用贪心法或动态规划法。 第四条特征涉及到分治法的效率,如果各子问题是不独立的则分治法要做许多不必要的工作,重复地解公共的子问题,此时虽然可用分治法,但一般用动态规划法较好。 * * * 任何以比较为基础的分类的算法,其执行过程都可以用二元比较树的形式进行描述。 * 任何以比较为基础的分类的算法,其执行过程都可以用二元比较树的形式进行描述。 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 双重循环,内层从i+1开始,相当于计算了一个上三角矩阵——点对之间的距离具有对称性,d(i,j) = d(j,i)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * 大型均匀分布可视为正方形,总共n个点,边长n^1/2,n^1/2 X n^1/2 = n,所以带高n^1/2,带内点数O(n^1/2)。 * goodrich p 182 大整数相乘在数据安全中有重要应用,它可用于加密模式中。 * goodrich p

文档评论(0)

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

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

1亿VIP精品文档

相关文档