问题阐述:对于平面上给定的N个點给出所有点对的最短距离,即输入是平面上的N个点,输出是N点中具有最短距离的两点
1、预处理:根据输入点集S中的x轴进行排序,使用速度比较快的快速排序然后将排序好的x坐标放到数组中,对应的y也放到对应的数组中 2、按照排好序的x坐标,从中间划分成两个点數量差不多的区域然后左区域继续划分成两个点数量差不多的区域,直到区域内点数量小于等于3个 3、合并两个区域时判断是否含有跨區域的最小距离 for(i←l;i<=mid;i++) //以左区域的每一个点的坐标,找到上、下、右边距离点长度为min的区域边界在这个区域内的点与此点计算距离 4、穷举法矗接两两计算距离,再与当前最小的距离作比较即可