Мне нужно решить вычислительную проблему, которая сводится к поиску взаимно ближайших пар точек между двумя наборами. Проблема выглядит примерно так:
Учитывая множество точек A и множество точек B в евклидовом пространстве, найдите все пары (a, b) такие, что b является ближайшей точкой в B к a, а a - ближайшая точка в к b.
Множества A и B имеют примерно одинаковый размер, и этот размер будет называться N. Для моей конкретной задачи N составляет около 250 000.
Решение грубой силы состоит в том, чтобы сравнивать каждую точку с каждой другой точкой, которая имеет квадратичную временную сложность. Есть ли более эффективный алгоритм для этого?