计算n个点之间的距离,时间复杂度是o(n^2)
然后找最近的两个点记录AB,各自删除一次记录一下删除之后的点集距离的最小值
然后缓存一下删除的节点的数据剪枝
?
【 在 lovellc (homesick) 的大作中提到: 】
: 标 题: Re: 求助一个平面点集的问题
: 发信站: 水木社区 (Fri Jul 10 09:13:52 2020), 站内
:
: 谢谢回复。
: 这个算法在删除一个点是可能是没有问题的,但是多个点时还是有些问题。一个特殊例子是n个点中有多对点距离最小。比如9个点排成3*3方阵,任意两个相邻点距离一样且最小:
:
: 1 2 3
:
: 4 5 6
:
: 7 8 9
:
: 现在要删除4个点,显然删除2,4,6,8是正确答案。但是按照算法并不能保证得到这个结果. 而且如果把2向1平移一点点,按照算法就把1删除了。
:
:
: 【 在 wwkk 的大作中提到: 】
: : 先取n个点中距离最小两点a,b
: : 计算 除b外到a点最小值 d1
: : 除a外到b点最小值d2
: : ...................
:
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 111.194.50.*]
--
FROM 120.52.147.*