无标题文章

该算法的主要思想是将点集$P$用一垂直线$l$分为左右两个部分$P_L$和$P_R$ 使 $|P_L|=\lcell |P|/2 \rcell$,$|P_R|=\lfloor |P|/2 \rfloor$。再分别寻找$P_L$和$P_R$中的最近点对,设$d_L$和$d_R$分别为$P_L$和$P_R$中最近点对之间的距离,取$d=min(d_L, d_R)$。令$P_L$和$P_R$中各取一点组成的点对之间的距离为$d'$,可能存在$d'<d$的情况。这样的点对仅存在于$l$左右距离为$d$的区间内。因此要想由分治得到的结果得出点集$P$中的最近点对,还要考虑到这种情况。由鸽巢原理,对于该区间内的每个点,只需考虑其$2d\times d$的矩形范围内的六个点,就可能找出距离小于$d$的点对。该算法的时间复杂度为

$$T(n)=2T(n/2)+O(n)$$

由主定理可以得到,$T(n)=O(n\log{n})$。 $\frac{d}{dx}e^{ax}=ae^{ax}\quad \sum_{i=1}^{n}{(X_i - \overline{X})^2}$

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容