用分治算法解平面最接近点对问题

时间:2011-11-18 16:05:58
【文件属性】:

文件名称:用分治算法解平面最接近点对问题

文件大小:236KB

文件格式:DOC

更新时间:2011-11-18 16:05:58

用分治算法解平面最接近点对问题 C++

关于最接近点对问题 给定平面上n个点,找出其中一对点,使得在n个点所构成的所有点对中,该点对的距离最小。 这个问题很容易理解,似乎也不难解决: 先求第1个点与其余n-1个点的距离; 再求第2个点与其余n-2个点的距离; 再求第3个点与其余n-3个点的距离; ………………………………………… 再求第n-1个点与其余1个点的距离; 然后找出最小值。但这种算法对于n很大的情况是不合适的。 分治法: 为了使问题易于理解和分析,我们先来考虑一维的情形。此时S中的n个点退化为x轴上的n个实数x1,x2,..,xn。最接近点对即为这n个实数中相差最小的2个实数。我们显然可以先将x1,x2,..,xn排好序,然后,用一次线性扫描就可以找出最接近点对。对这种一维的简单情形,我们尝试用分治法来求解,并希望能推广到二维的情形。


网友评论

  • 感觉用处不是很大,本来还以为会有介绍中关于最近点对的思路的材料呢...
  • 不错,可以运行的
  • 内容好多,慢慢看吧
  • 嗯 虽然不错~ 但是和本人需求还是有些不符~
  • 代码的确是分治的思想,但是流程图不是该算法的,代码有错误,算法值得借鉴
  • 要求分数太多,代码有错误,对本人帮助不大
  • 很棒,代码有一定借鉴价值,不过报告好像有点错误……
  • 很详细,但是不太符合本人的需求
  • 首先,这资源很不错,详细解释了分治法解决平面点对问题,不过内容不是太多