Это немного зависит от масштаба данных, которые вы хотите кластеризовать. Метод грубой силы заключается в расчете расстояния между всеми комбинациями точек в массиве расстояний. Результирующий массив равен N ^ 2, и поскольку расстояние от A до B такое же, как от B до A, вам потребуется только половина из них, поэтому результирующий набор равен N ^ 2/2.
Для относительно близких координат широты иногда можно избежать использования широты в виде сетки x, y и вычисления декартового расстояния. Поскольку реальный мир не плоский, на декартовом расстоянии будет ошибка. Для более точного расчета, который вы должны использовать, если ваши адреса расположены по всей стране, см. эту ссылку с Mathforum.com .
Если у вас нет шкалы для обработки всей матрицы расстояний, вам потребуется выполнить некоторое программирование алгоритма, чтобы повысить эффективность.