该算法的主要思想是将点集$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}$