У меня есть проблемы с реализацией алгоритма Дейкстры в Java.
Я использую этот (первый) псевдокод: http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
Строка 15 вам нужно получить вершину с самым низким расстоянием. Но как я могу сохранить расстояние с соответствующим расстоянием.
Примечание: vertex определяется как целое число.Алгоритм Dijkstra в Java
Мои решения, которые не работают должным образом:
- Карта с K = вершины, V = расстояние, задачи: длинный поиск, чтобы получить МИН DIST
- SortedMap с K = расстояние, V = вершина, Проблема: почти каждое расстояние определено как Integer.MAX_VALUE
Итак, я ищу быстрый способ сохранить вершину на расстоянии, и должно быть легко получить вершину с минимальным расстоянием.
Я не думаю, что и может найти что-то быстрее, чем карта для вас решение – nafas
в качестве альтернативы можно использовать некоторые уже реализованные граф структуры для Java – nafas
Поэтому лучшим решением является на самом деле a SortedMap с K = distance и V = List Integer (= vertex)? – fangio