我是业余程序员,学习如何编程。 我从未有过任何的计算机科学课程,所以我有困难的时候与这个简单的问题:寻找迷宫中的最短路径
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