网站大量收购独家精品文档,联系QQ:2885784924

(算法分析的设计)第3章动态规划.ppt

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

凸多边形的性质 一个凸七边形 凹多边形 凸多边形的性质 多边形k平面上一条分段线性闭合曲线 用多边形顶点的逆时针序列表示:P={V0,V1,…,Vn-1} 表示具有n条边的凸多边形, 由一系列首尾相接的直线段组成。 凸多边形性质 凸多边形边界上或内部的任意两点,其所连成的直线段上所有点都在该凸多边形的内部或边界上。 v1 v2 v3 v4 v5 v6 v0 v1 v2 v3 v4 v5 v6 v0 一个凸七边形的两种三角剖分 凸多边形最优三角剖分问题 周长 一个有趣的发现 矩阵连乘问题 凸多边形最优三角剖分问题 类似问题 可能吗? 矩阵连乘积的最优计算次序问题是凸多边形最优三角剖分问题的特殊情形。 表达式语法树 表达式语法树 一个表达式的完全加括号方式相应于一个完全二叉树,称为表达式的语法树。 树中每一个叶结点表示表达式中的一个原子。 有n个原子的完全加括号表达式对应于惟一的一个有n个叶结点的语法树,反之亦然。 矩阵连乘积最优次序解: ((A1(A2A3))(A4(A5A6)) 凸多边形三角剖分问题的语法树表示 语法树的根结点 一般情况下,凸n边形的三角剖分对应于一个有n-1个叶结点的语法树,也可以根据一个有n-1个叶结点的语法树产生一个凸n边形的三角剖分 凸n边形的三角剖分 一个有n-1个叶结点的语法树 凸n边形的三角剖分 一个有n-1个叶结点的语法树 n个矩阵的完全加括号乘积 有n个叶结点的语法树 n个矩阵的完全加括号乘积 凸n+1边形的三角剖分 v1 v2 v3 v4 v5 v6 v0 A3 A1 A2 A4 A5 A6 A1 A2 A3 A4 A5 A6 表达式语法树与三角剖分的对应 (a) (b) 根据此定义,凸多边形P的最优三角剖分所对应的语法树给出矩阵链A1A2…An的最优完全加括号方式。 求解凸多边形最优三角剖分问题 最优子结构性质 最优三角剖分的递归结构 计算最优值 构造最优解 最优子结构性质 求解凸多边形最优三角剖分问题 最优子结构性质 最优三角剖分的递归结构 计算最优值 构造最优解 最优三角剖分的递归结构 算法可由矩阵连乘算法获得 求解凸多边形最优三角剖分问题 最优子结构性质 最优三角剖分的递归结构 计算最优值 构造最优解 计算最优值 计算最优值 参考矩阵连乘积最优次序解 权函数的定义 算法实现请参看教材 算法复杂性分析 空间复杂性:O(n2) 时间复杂性: O(n3) 求解凸多边形最优三角剖分问题 最优子结构性质 最优三角剖分的递归结构 计算最优值 构造最优解 构造最优解 图象压缩 一幅数字图像是点或图像元素的m行n列的矩形数组。m x n是图像的分辨率(resolution),而这些点称为像素(pixel)。 图像压缩:指以较少的比特有损或无损地表示原来的像素矩阵的技术。也称图像编码。 图像数据的冗余主要表现为: 图像中相邻像素间的相关性引起的空间冗余; 图像序列中不同帧之间存在相关性引起的时间冗余; 不同彩色平面或频谱带的相关性引起的频谱冗余。 图像压缩方法: 无损压缩 有损压缩:通过牺牲图像的准确率来达到加大压缩率的目的。 如果我们容忍解压缩后的结果中有一定的误差,那么压缩率可以显著提高 有损压缩方法的压缩比:在图像压缩比大于30:1时,仍然能够重构图像;在图像压缩比为10:1到20:1时,重构图像与原图几乎没有差别; 无损压缩的压缩比很少有能超过3:1 1 2 3 4 5 6 1 2 3 4 5 6 i j 0 15750 7875 9375 11875 15125 0 2625 4375 7125 10500 0 750 2500 5375 0 1000 3500 0 5000 0 m[i][j] 1 2 3 4 5 6 i j 1 2 3 4 5 6 0 1 1 3 3 3 0 2 3 3 3 0 3 3 3 0 4 5 0 5 0 s[i][j] 计算结果 void MatrixChain(int *p,int n,int **m,int **s) { for (j = 2; j = n; j++)

文档评论(0)

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

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

1亿VIP精品文档

相关文档