我是业余程序员,学习如何编程。我从来没有上过任何计算机科学课程,所以我很难解决这个小问题:
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 个,所以它不像面向矩阵的问题。你得到了结束房间,你必须找到从开始房间开始的最短路径(比较房间的名称)。结果应该是“方式”,如:
开始于:厨房
结束: 厕所
路径:厨房、客厅、走廊、卧室、卫生间
我想我必须对房间使用一些递归,我认为我应该保存我已经在某个堆栈中的位置。但我真的不知道如何开始。
你们中的一些人可以帮助我吗?谢谢