我试图用一种方法,将一条最短的道路从一条 no到另一条不加权图。 我考虑了Dijkstra的使用问题,但这似乎是一种超高的技巧,因为我只想一对。 相反,我进行了广泛的第一次搜索,但麻烦在于我的返回名单包含了我不希望的一些要点——我如何能够修改我的法典以实现我的目标?
public List<Node> getDirections(Node start, Node finish){
List<Node> directions = new LinkedList<Node>();
Queue<Node> q = new LinkedList<Node>();
Node current = start;
q.add(current);
while(!q.isEmpty()){
current = q.remove();
directions.add(current);
if (current.equals(finish)){
break;
}else{
for(Node node : current.getOutNodes()){
if(!q.contains(node)){
q.add(node);
}
}
}
}
if (!current.equals(finish)){
System.out.println("can t reach destination");
}
return directions;
}