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