Я думаю, что ваша главная цель достижима с помощью JUNG, но ИМХО, вам нужно отфильтровать по вашему заданному расстоянию "х" (я имею в виду все возможные комбинации между узлами).Однако у меня нет опыта использования алгоритмов кратчайшего пути JUNG, за исключением приведенного ниже примера.
В примере графического интерфейса пользователя JUNG Framework 2.x используется алгоритм кратчайшего пути из BFSDistanceLabeler , для которого требуетсяуниверсальный гиперграф .Он применяет расчет на основе расстояния BFS, а не расчет расстояния на основе веса края.Однако это алгоритм поиска в ширину (BFS).
Вы можете обратиться к исходному коду ShortestPathDemo.class в пакете edu.uci.ics.jung.samples. in jung-samples-2.0.1.jar
Лучшую справочную информацию, которую я могу найти для других алгоритмов кратчайшего пути JUNG, можно найти здесь (PDF): www.grotto-networking.com/JUNG/JUNG2-Tutorial.pdf