我已經編寫了一個函數,用於計算使用BFS是否可以從源頂點到達目標頂點。現在我需要跟蹤我用來達到頂點的路徑。我想這應該是一個小小的調整,我們可以將節點添加到我的路徑數組列表中。有人請幫助我。使用BFS的2個節點之間的路徑
public Boolean isReachable(Node destination) {
ArrayList<Node> visited = new ArrayList<>();
LinkedList<Node> queue = new LinkedList<>();
ArrayList<Node> path = new ArrayList<>();
queue.add(this);
while (queue.size() != 0) {
Node source = queue.poll();
for (Node node : source.adjacentNodes) {
if (node.equals(destination))
return true;
if (!visited.contains(node)) {
visited.add(node);
queue.add(node);
}
}
}
return false;
}
可能重複[只返回實際最短路徑中的頂點](http://stackoverflow.com/questions/5463505/returning-only-the-vertices-in-act-shortest-path) –