Ich bin Amateur-Programmierer lernen, wie man programmiert. Ich habe nie irgendwelche Informatik Kurse hatte so ich harte Zeiten mit diesem trivialen Problem habe:Den kürzesten Weg in einem Labyrinth finden
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) {
// ?
}
}
Jedes Zimmer einige Nachbarn hat. Mehr als 4, also kein matrixorientiertes Problem. Sie erhalten einen End-Raum und Sie müssen den kürzesten Weg vom Startraum finden (Vergleich der Namen der Räume). Ergebnis sollte "Art und Weise" wie:
Start: Küche
Ende: WC
Pfad: Küche, Wohnzimmer, Flur, Schlafzimmer, WC
Ich glaube, ich muss einige Rekursion verwenden für die Räume und ich denke ich sollte sparen wo ich schon in einem Stapel war. Aber ich weiß nicht wirklich, wie ich anfangen soll.
Können mir einige CS Jungs helfen? Danke
http://en.wikipedia.org/wiki/A*_search_algorithm – jonmorgan
Jedes Zimmer benötigt Routen, die kostenpflichtig sind. Dann können Sie die Routen durchqueren. –
@JakobBowyer Nehmen Sie einfach 1 als Kosten :) –