计算几何-凸包(Convex Hull)
凸包(Convex Hull)是计算几何中的一个经典常用的算法。它解决的问题在于给定空间一堆离散的点,计算包含所有点的凸多边形。
凸的定义
凸是指图形内任意两点的连线都不经过图形内部。
计算凸包时要考虑一些特殊情况,比如凸包上多点重叠,凸包上多点共线,通常我们会倾向于用最少的点来描述凸包。
凸包算法伪代码
凸包算法C++实现
算法时间复杂度
由于做了一次排序算法的时间复杂度O(NlogN),两个for循环的时间复杂度为O(N),所以整体的时间复杂度为O(NlogN).
发布于 2019-07-27 15:45