您的位置:首页 > 其它

平面点集的凸包

2015-07-08 20:40 225 查看
概念:给定一个平面的点集q,求覆盖所有点的最小凸多边形(在多边形边上,或内部)。

主要求解思想:

采用分治算法



如图,先找出y坐标最大和做小的点,并入此多边形的顶点集(因为是y坐标最大和最小,所以此直线左边和右边的凸包合起来还是凸包);

对直线左右的点进行递归处理:

如直线左边,先找到一个离直线最远的点p并入多边形顶点集,连接p和ymin和ymax(因为是离直线d最远的点, 所以直线a左边的凸包和b上边的凸包合起来还是凸包,如图:



然后分别对直线a左边和直线b上边的点递归处理。

最后得到多边形的顶点集。

算法时间复杂度:0(n2)



注:图片截取于https://class.coursera.org/algorithms-001/lecture/81
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  凸包