快速凸包算法解析.pptVIP

  • 19
  • 0
  • 约3.31千字
  • 约 24页
  • 2017-06-22 发布于湖北
  • 举报
第二章 二维凸包 2.4 凸包的快速算法 2.4 凸包的快速算法 算法过程 取两个极端点,它们是最右最下点pdr和最左最上点pul 有向直线 pdr pul将整个凸包被划分为右凸包和左凸包 对右凸包和左凸包分别进行递归 递归 设S1是严格在直线 pdr pul右边的点集(S1可能是空集) 在S1中寻找距离直线 pdr pul最远的点,作为pdr pul右边的一个极端点b 连接pdr和b ,及b 和pul 把pdr右侧的点集记为A, pul右侧的点集的点记为B 对边pdr b和点集A、对边b pul 和点集B分别递归调用 依次连接凸包上的顶点,得点集S1的凸包,即点集S的右凸包 类似地,计算出点集S的左凸包,从而得到整个点集S的凸包 2.4 凸包的快速算法 2.4 凸包的快速算法 2.4 凸包的快速算法 最好情况出现在每次划分均是平衡的, O(nlogn) 最坏情况出现在每次划分点的分布都很极端, O(n2) 2.5 Graham算法 20世纪60年代末 贝尔实验室需要求解10,000个点的凸包 O(n2)的方法太慢 1972年 Graham出O(nlogn)的二维凸包算法 2.5 Graham算法 基本思想 在凸包内部找到一个点o 如S 中任何三个不共线的点的重心,O(1) 将o作为极坐标的中心,计算每个点的极角θ 对S中的点按θ升序排列(如pi ,pi+1 ,

文档评论(0)

1亿VIP精品文档

相关文档