performance - 更快地找到最近的点对

标签 performance algorithm

我正在尝试将数组的所有元素相互比较。我可以用嵌套循环来做,但这是一个非常低效的算法,我可以说这不是正确的方法。这就是我现在正在做的事情。

下面的 PER 答案我已经更改了这段代码,我正在扩展这个问题。

// Point from java.awt.Point;
private static void findShortestDistance(Point[] pt) {

  ArrayList<Double> distance = new ArrayList<Double>(1000);    

  for(int i=0; i<pt.length; i++) {
    for(int j=i+1; j<pt.length; j++) {
      double tmp = pt[i].distance(pt[j]);
      distance.add(tmp);        
    }
  }

  double min = distance.get(0);
  for(Double d : distance) {
    if(d < min) { min = d; }
  }

}

这是我目前使用的方法的完整代码。我试图找到给定数组中两点之间的最短距离。

最佳答案

关于performance - 更快地找到最近的点对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570645/

相关文章:

c++ - 转换和验证字符串

arrays - 查找数组中无序对的数量

ruby - 如何改善 jRuby 加载时间?

java - java中创建类什么时候有利

r - data.table : how to improve performance 中的扩展窗口(累积计算)

mysql - 在MySQL中,TEXT或BLOB的指定大小是否会影响性能或表大小?

algorithm - 我用于构建最小堆的 Heapsort 算法有什么问题?

java - 最长递增序列二维矩阵递归

c - 寻找元组匹配算法

c# - 委托(delegate)创建的性能不足