我是業餘程序員,學習如何編程。 我從未有過任何的計算機科學課程,所以我有困難的時候與這個簡單的問題:尋找迷宮中的最短路徑
class Room {
String name;
ArrayList<Room> neighbors = new ArrayList<Room>();
// constructor with name
// getters
void addNeighbor(Room room) {
neighbors.add(room);
}
}
class Finder {
void findShortestPath(Room start, Room end) {
// ?
}
}
每個房間都有一些鄰居。超過4個,所以它不像矩陣導向問題。你被給予最後的房間,你必須從起始房間找到最短的路徑(比較房間的名字)。結果應該是「道」,如:
開始:廚房
結束:衛生間
路徑:廚房,客廳,走廊,臥室,衛生間
我想我必須使用一些遞歸房間和我想我應該保存在我已經在一些堆棧的地方。但我真的不知道該如何開始。
你們中的一些人可以幫我嗎?謝謝
http://en.wikipedia.org/wiki/A*_search_algorithm – jonmorgan 2012-03-24 21:29:59
每個房間都需要可以花費的路線。然後你可以遍歷路線。 – 2012-03-24 21:30:28
@JakobBowyer只取1成本:) – 2012-03-24 21:34:44