Я программист-любитель, учусь программировать.
У меня никогда не было никаких курсов информатики, поэтому у меня трудные времена с этой тривиальной проблемой:
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, так что это не похоже на матрично-ориентированную задачу. Вам дана конечная комната, и вы должны найти кратчайший путь из начальной комнаты (сравнивая названия комнат). Результат должен быть «таким», как:
Начало: Кухня
Конец: Туалет
Путь: Кухня, Гостиная, Коридор, Спальня, Туалет
Я думаю, что я должен использовать некоторую рекурсию для комнат, и я думаю, что я должен сохранить там, где я уже был в каком-то стеке. Но я не знаю, с чего начать.
Могут ли некоторые из вас, ребята из CS, помочь мне? Спасибо