Ну, первый шаг к решению проблемы - использовать базовую географию и классифицировать страны по континентам .
Оттуда вы можете составить список расстояний в пределах данного континента и отсортировать их по этим «расстояниям» или «весам».
Географическое расстояние (например, км или миль) между столицами должно быть "достаточно хорошим" приближением, чтобы начать, если вы хотите быть модным.Бьюсь об заклад, вы могли бы даже найти такой список с небольшим поиском в Интернете.
Оттуда у вас есть "проблема почтового отделения" (Кнут) или " поиск ближайшего соседа "проблема оптимизации, и в этом случае я подозреваю, что вы можете [ REWORDED ] просто выполнить линейный поиск по разделам континентов.Если вам нужна лучшая производительность, тогда достаточно приблизительного алгоритма.(ответы не гарантируют, что это будет лучшее решение, но должны быть разумными большую часть времени)
Обратите внимание, что эта форма "маршрутизации" на основе географии является слабой в некоторых исключительных случаях, таких какКуба, которая не получает доступа в Интернет от своего (наивного) очевидного географического соседа, США, и некоторых стран типа «черной дыры» из-за политических отношений.Я подозреваю, что Северная Корея и Тибет - похожие случаи.