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

4.9.平面点集的凸包.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
平面点集的凸包 平面点集的凸包 问题 (平面点集的凸包) 给定大量离散点的集合Q,求一个最 小的凸多边形,使得Q中的点在该多 边形内或者边上. 应用背景 图形处理中用于形状识别:字形识 别、碰撞检测等 2 分治算法 1. 以连接最大纵坐标点y max 和最小 纵坐标点y min 的线段d={y max,y min}划 分L 为左点集 Lleft 和右点集Lright y max d y min 2. Deal (Lleft ) ;Deal (Lright ) 3 Deal (Lleft ) 考虑Lleft :确定距d 最远的点P 在三角形内的点,删除; a 外的点与a 构成Lleft 的子问题; b 外的点与b 构成Lleft 的子问题. b P y max d a 4 y min 伪码 Deal ( Lleft ) 1. 以d 和距离d 最远点P 构成三角 形,P加入凸包,另外两条边分别记 作a 和b 2. 检查Lleft 中其他点是否在三角形 内;在则从L 中删除;否则根据在a 或b 边的外侧划分在两个子问题中 3. Deal (a) 4. Deal (b) 5 算法分析 • 初始用d 划分 O(n) • Deal 递归调用 W(n) – 找凸包顶点P O(n) – 根据点的位置划分子问题 O(n) • W(n) = W(n-1) + O(n) W(3) = O(1) 2 最坏情况为O(n ) 2 T(n) = O(n) + W(n) = O(n ) • Graham扫描算法O (nlogn) 6 小结:分治算法设计 • 将原问题归约为子问题 直接划分注意尽量均衡 通过计算归约为特殊的子问题 子问题与原问题具有相同的性质 子问题之间独立计算 • 算法实现: 递归或迭代实现 注意递归执行的边界 7 小结:分治算法的 分析及改进 • 时间复杂度分析 给出关于时间复杂

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档