给定一组点,我如何找到彼此最远的两个点?

给定一组点,我如何找到彼此最远的两个点?,第1张

给定一组点,我如何找到彼此最远的两个点?

您要计算集合的 直径
。标准技术是首先计算凸包,这可以减少查找凸多边形直径的问题。即使在您没有消除任何要点的情况下,这些添加的信息也正是有效解决问题所需要的。但是,找到凸多边形的直径并不完全是简单的。几篇带有该算法的已发表论文被证明是不正确的。

这是针对该任务的正确O(n)算法的相当可读的讨论(其中n是凸包中的点数)。

另外,还要注意的并不是iPhone 有限的;
即使是完全幼稚的算法,精心编写的实现也可以在不到十分之一秒的时间内处理1000个点。当然,使用正确的算法会让您更快=)



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5020545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存