Алгоритмический вопрос.Можно ли найти ближайшую точку ко всем точкам субквадратического времени?
Вход:
- Список точек данных
X
- Метрика функция для точек
dist(x,y)
данных, занимает O (1) время, чтобы оценить и удовлетворяет неравенству треугольника
Есть алгоритм, который может возвращать вектор точек данных Y
такой, что Y[i]
является ближайшей точкой в X
до X[i]
в субквадратичное время?
Очевидно, это возможно в O (n^2), потому что вы можете просто проверить каждую точку. Мне интересно, можно ли использовать неравенство треугольника, чтобы улучшить это. Меня также интересовали бы приближенные алгоритмы с доказуемыми границами (т. Е. Что-то вроде Y[i]
не более (1 + log (n)), умноженное на расстояние от X[i]
как минимум).
Чтобы уточнить: 'Y [i]' должен быть точкой, ближайшей к 'X [i]', которая не является самой 'X [i]'. В противном случае 'Y = X' будет идеальным решением: p – Lagerbaer