Расчет расстояния для огромного количества устройств / узлов
я имеюN мобильные устройства / узлы (скажем, 100K) и я периодически получаем значения их местоположения (широта, долгота).
Некоторые из устройств «логически связаны» примерно сM другие устройства (скажем, 10). Моя программа периодически сравнивает расстояние между каждым устройством и его логически подключенными устройствами и определяет, находится ли расстояние в пределах порога (скажем, 100 метров).
Мне нужен надежный алгоритм для расчета этих расстояний до логически подключенных устройств.
Порядок сложности подхода грубой силы будет N * M или Θ (N2)
Программа делает это каждые 3 секунды (все устройства являются мобильными), поэтому вычисления 100K * 10 = 3M каждые 3 секунды не годятся.
Любые хорошие / классические алгоритмы для этой операции?