算法设计与分析-变治法技术总结.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章 变治法; (1)实例化简——同样问题 6.1 预排序 6.2 高斯消去法 6.3 平衡查找树—AVL树 (2)改变表现——同样实例 6.3 2-3树 6.4 堆和堆排序 6.5 霍纳法则和二进制幂 (3)问题化简——另一问题 6.6 ;6.1 预排序;例1、检验数组中元素的唯一性 蛮力法如何做?时间效率是多少? 如果先排序,则如何检查元素的唯一性? 只需检查相互紧挨的元素。 PresortElementUniqueness(A[0..n-1]) //先对数组排序再验证唯一性 //输入:数组A //输出:若A没有相等的元素,返回“true”,否则返回“false”. 对数组排序; for i=0 to n-2 do if A[i]=A[i+1] return false return true ;预排序;;;6.2 Gauss消去法;1、高斯消元法;高斯消元法;高斯消元法举例:;高斯消元法的伪代码;高斯消元法的效率分析 基本操作:乘法 执行次数:易见,三重循环 C(n)∈Θ(n3);2、LU分解法; ;记原方程组为 A X =b A=LU 则原方程组为LUX=b 其求解转化为两个三角形方程组的求解: LY=b —— 下三角方程组 UX=Y ——上三角方程组 ;LU分解法;评价;3、计算矩阵的逆;计算矩阵的逆;3、计算矩阵的行列式;计算矩阵行列式;;6.3 平衡查找树;把一个集合变换成一棵二叉查找树是改变表现技术的一个实例 好处是: 在平均情况下,查找,插入,删除的效率是Θ(logn) 最差情况下, Θ(n),退化成线性的情况 ;;6.3.1 AVL树;AVL树的效率评价;6.3.2 2-3树;2-3树的搜索与插入;;插入算法: 当一个结点x需要插入到2-3树中的时候,总是根据它的大小关系,把其插入到叶结点中。 插入前首先调用搜索算法找到待插入的叶结点,如果该叶结点是2-node型的,则直接插入即可; 如果该叶结点是3-node型的,在按序插入到叶结点后,需要把叶结点拆分(因为插入后使得叶结点的关键字个数为3,不满足2-3树的要求)。 拆分过程首先在三个关键字挑选值在中间的关键字,提到上一层,或者作为新结点,或者插入原来的内结点中;关键字最小的作为左子树,关键字最大的作为右子树。如果内结点的插入导致结点过大,按照上述规则继续拆分。;2-3树的效率分析;6.4 堆和堆排序;1 堆的定义 堆是一棵二叉树,??中节点包含键,满足下面两个条件: 树的形状:二叉树 父母:每个节点的键都要大于或等于它子女的键。; 2自底向上构造法;2自底向上构造法;3 自顶向下构造法;4 堆结点的删除;6.4.2 堆排序;堆排序举例;堆排序举例;堆排序效率分析;6.3-6.4小结;6.5 Horner法则和二进制幂;当x=3时,计算p(x); 6.5.2 二进制幂 计算an的算法,有两种方法: ;6.6 问题化简;6.6.1 求最小公倍数lcm(m,n);关联 m和n的最大公约数gcd(m,n)是m和n所有公共质因子的积。 并且lcm(m,n)=m·n/gcd(m,n) 问题化简 转换为求最大公约数gcd(m,n)的高效的欧几里德算法;6.6.2 计算图中的路径数;6.6.3 优化问题的化简;6.6.4 线性规划;线性规划问题是一个多变量线性函数的最优化问题。 这些变量要满足的约束是以线性等式或线性不等式的形式出现。 可以为各种应用建模,如排班,交通和通信网络规划,石油勘探和提纯。 解线性规划问题的算法: 单纯形法 Karmarkar算法 ;;6.6.5 简化为图论问题;对过河问题,画出人、狼、羊、菜的状态空间图后即可以发现有两条路径,这两条路径就是问题的两个解。;过河问题;(1,1,1,1) (1,1,1,0) (1,1,0,1) (1,0,1,1) (1,0,1,0) (0,0,0,0) (0,0,0,1) (0,0,1,0) (0,1,0,0) (0,1,0,1);小结

文档评论(0)

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

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

1亿VIP精品文档

相关文档