Расчет расстояния для огромного количества устройств / узлов

я имеюN мобильные устройства / узлы (скажем, 100K) и я периодически получаем значения их местоположения (широта, долгота).

Некоторые из устройств «логически связаны» примерно сM другие устройства (скажем, 10). Моя программа периодически сравнивает расстояние между каждым устройством и его логически подключенными устройствами и определяет, находится ли расстояние в пределах порога (скажем, 100 метров).

Мне нужен надежный алгоритм для расчета этих расстояний до логически подключенных устройств.

Порядок сложности подхода грубой силы будет N * M или Θ (N2)

Программа делает это каждые 3 секунды (все устройства являются мобильными), поэтому вычисления 100K * 10 = 3M каждые 3 секунды не годятся.

Любые хорошие / классические алгоритмы для этой операции?

Ответы на вопрос(2)

Ваш ответ на вопрос