最接近点对问题.pptxVIP

  • 8
  • 0
  • 约2.35千字
  • 约 27页
  • 2019-10-19 发布于广东
  • 举报
第2章;【问题描述】;最接近点对问题;蛮力算法;算法的应用;一维空间找最接近点对;分治策略下一维的情形;大致算法:;如果S的最接近点对是{p3,q3},即|p3-q3|d,则p3和q3两者与m的距离不超过d,即p3-md,q3-md,即p3∈(m-d,m],q3∈(m,m+d] 。 由于在S1中,每个长度为d的半闭区间至多包含一个点(否则必有两点距离小于d),并且m是S1和S2的分割点,因此(m-d,m]中至多包含S中的一个点。由图可以看出,如果(m-d,m]中有S中的点,则此点就是S1中最大点。同理,如果(m,m+d]中有S中的点,则此点就是S2中最小点。 因此,我们用线性时间就能找到区间(m-d,m]和(m,m+d]中所有点,即p3和q3。从而我们用线性时间就可以将S1的解和S2的解合并成为S的解。;public static double Cpair1(S,d) //找S中最接近点对的距离d { n=|S|; //S中点的个数 if(n2) d=∞; m=S中各点坐标的中位数; 构造S1和S2; //S1={x∈S|x=m},S2={x∈S|xm} Cpair1(S1,d1); Cpair1(S2,d2); p=max(S1); q=min(S2); d=min(d1,d2,q

文档评论(0)

1亿VIP精品文档

相关文档