Я пытаюсь внедрить Indoor навигационной системы, где я должен найти кратчайший путь к точке от моего текущего местоположения.Найти Кратчайший путь в Java без определения вершины/узлов
Вещи, которые я достиг: Использование алгоритма Дейкстры/Хипстера и тестового кода, где я определяю 4 узла с весами, а затем попытаюсь найти кратчайший маршрут от источника к месту назначения.
Теперь, если предположим, что я нахожусь в точке на карте, которая не определена как узел, и я хочу перейти к точке, которая может быть или не быть узлом, тогда в таком случае, как найти кратчайший путь?
Текущий тестовый код I'am с помощью:
package indoornav.shortestpath;
import java.util.List;
import es.usc.citius.hipster.algorithm.Hipster;
import es.usc.citius.hipster.graph.GraphBuilder;
import es.usc.citius.hipster.graph.GraphSearchProblem;
import es.usc.citius.hipster.graph.HipsterDirectedGraph;
import es.usc.citius.hipster.model.problem.SearchProblem;
public class Client3 {
public static void main(String[] args)
{
HipsterDirectedGraph<String,Double> graph =
GraphBuilder.<String,Double>create()
.connect("A").to("D").withEdge(10d)
.connect("A").to("C").withEdge(12d)
.connect("C").to("A").withEdge(12d)
.connect("C").to("B").withEdge(10d)
.connect("B").to("D").withEdge(10d)
.connect("B").to("C").withEdge(10d)
.connect("D").to("A").withEdge(10d)
.connect("D").to("B").withEdge(10d)
.createDirectedGraph();
// Create the search problem. For graph problems, just use
// the GraphSearchProblem util class to generate the problem with ease.
SearchProblem p = GraphSearchProblem
.startingFrom("A")
.in(graph)
.takeCostsFromEdges()
.build();
// Search the shortest path from "A" to "F"
System.out.println(Hipster.createDijkstra(p).search("B"));
}
}
enter code here
HI Slesh, спасибо за ответ, но не могли бы вы объяснить или дать некоторые справочные ссылки на него. Я новичок в этом алгоритме и принципах. Несколько строк кода для справки помогут намного лучше :-) – Anuj