如何做最近的邻居algrorithm处理

时间:2016-04-03 19:05:15

标签: algorithm multidimensional-array processing

我需要在处理中编码最近的邻域算法,但是我在将算法实现为伪代码时遇到了麻烦。我有一个模板与我的数组和我正在使用的表中的所有数字我只需要使用该算法。我正在使用2D数组。请有人帮忙

1 个答案:

答案 0 :(得分:0)

我假设您提到的2D数组An点的数组,其中每个点---来自d - 维欧氏空间R^d ---表示为大小为d的数组。

我假设最近的邻域问题是返回给定点R的距离p内的点集,即{{1} }}

{q in A | d(p,q) < =R}

算法及时运行vector<int> neighborhood(double** points, int n, int d, int* p, double R) { vector<int> result; // the set of indices of points from the neighborhood for (int i = 0; i < n; ++i) { if (distance(a, i, d, p) <= R) { result.push_back(i); } } return result; } 。函数O(nd)计算两个点之间的距离,表示为双倍大小distance的数组。