算法分析与设计分治算法寻找凸包寻找凸包问题描述 给定平面上 nnn 个点的集合 QQQ,QQQ 的凸包是一个凸多边形 PPP。QQQ 的点或者在 PPP 上或者在 PPP 内,并且连接 PPP 内任意两点的边都在 PPP 内。现在要求 QQQ 的凸包 PPP。问题分析 Graham-scan 的基本思想:找到最下最左顶点,其他顶点与它连线。按夹角从小到大排序。夹角最小的开始,寻找凸包点。是否存在分治的方法?取两极端点,最右最下点 pdrp_{dr}pdr 和最左最上点 pulp_{ul}pul。有向线 pdrpulp_{dr}p_{ul}pdrpul 将整个凸包被划分为右凸包和左凸包。对右凸包和左凸包分别进行递归。算法分析 时间复杂度:O(nlogn)O(n \log {n})O(nlogn)快速傅里叶变换作业