fk0, легенда (26.04.2013 13:00, просмотров: 206) ответил SciFi на Полный перебор.
Ну вообще-то поиск ближайших для заданной точки — это только часть алгоритма. И её повторять для заданного набора точек нужно многократно, для каждой точки вообще. Для каждой точки нужно найти ближайшие к ней и выполнить вычисления. И так для всего набора.
Если совсем далеко заходить, то нужно что-то попроще чем БПФ или АКФ в задаче определения периода для некого периодического сигнала. Считать переходы через 0 не вариант, сигнал сильно зашумлён.
Пространство может иметь большую размерность, так что сортировка по одной только координате не даст существенного выигрыша. Вычислить расстояние до каждой точки — ближайших точек всего с десяток, а общее число точек очень велико. Критично время работы программы.
Есть такой метод, не знаю как называется правильно: допустим есть X и Y координаты. X в бинарном представлении: xn*2^n...x3*2^3, x2*2^2, x1*2^1, x0*2^0. Тогда можно координаты побитно объединить: xn, yn... x3, y3, x2, y2, x1, y1, x0, y0. И отсортировать по этому числу. Тогда регион для перебора сужается. Но это на плоскости или в кубе куда ещё ни шло. А если размерностей много — не вариант. Но я был бы рад, если бы мне кто рассказал, как этот метод научно называется.
[ZX]