Algorithm 二维地图上的最孤立点算法

Algorithm 二维地图上的最孤立点算法,algorithm,dictionary,math,computational-geometry,kdtree,Algorithm,Dictionary,Math,Computational Geometry,Kdtree,我有一组点,需要知道哪个点与其他点的欧几里德距离最远。 我想从O(n^2)改进这个 伙计们,我听说Kd树是个解决方案,但是 如果KD树中已存在点“x”,则KD树不提供最近距离。而且也没有可以删除的实现 编辑: 您可以通过忽略“最近搜索算法”中的self和“我们在哪里设置根/父对象”开始搜索来实现这一点。我假设您希望找到与最近邻居之间距离最大的点。就像南太平洋上的一个小岛,离最近的陆地1100英里 那么,你应该离O(n^2)很远。假设你有一百万分。将点划分为1000 x 1000网格。要找到最近的

我有一组点,需要知道哪个点与其他点的欧几里德距离最远。 我想从O(n^2)改进这个

伙计们,我听说Kd树是个解决方案,但是 如果KD树中已存在点“x”,则KD树不提供最近距离。而且也没有可以删除的实现

编辑:
您可以通过忽略“最近搜索算法”中的self和“我们在哪里设置根/父对象”开始搜索来实现这一点。我假设您希望找到与最近邻居之间距离最大的点。就像南太平洋上的一个小岛,离最近的陆地1100英里


那么,你应该离O(n^2)很远。假设你有一百万分。将点划分为1000 x 1000网格。要找到最近的点,只需检查九个相邻的网格,因此远低于O(n^2)。如果一个网格包含很多点,它们将紧密地在一起,因此您可以快速地将它们从搜索中删除

给定n个点Pi,1使用'dist'函数。dist函数将在任何情况下使用,我想要一个比O(n^2)更好的算法参见:你听说过凸包吗?此解决方案的可能副本仍然是
O(n^2)
。如何确保“9个相邻网格”不包含所有N个点?什么是
ld N
?log2?ld是以2为底的对数;在大O符号中,这实际上与对数n(基数e)相同。@coproc你是德国人吗?我在wikipedia上看到,ld主要用于德国:D@tashfeen“k-最近”是kd树上的一个标准函数;您还可以修改“最近”函数以忽略给定点itself@coproc你能提供k-nearest代码的链接吗?我找不到。或者,如果你能帮我在最近的一次演讲中“忽略自己”,我会非常感激。