Ich versuche derzeit, ein GPS-System zu erstellen, das Kartendaten aufnehmen und den kürzesten Abstand zwischen dem Startpunkt und dem Endpunkt in der kürzesten Entfernung finden kann.Implementieren von offenen und geschlossenen Liste für A * -Algorithmus auf einem GPS
Das Programm übernimmt Eckpunkte (die jeweils ein Label sowie X- und Y-Koordinaten enthalten) und Kanten (die zu und von welchen Straßen detailliert sind sowie die Entfernung), die dann in einer Adjazenzliste gespeichert werden.
Ich habe mich entschieden, den A * -Algorithmus zu verwenden und habe versucht, dieser introduction zu folgen, aber ich bin unsicher, wie die offenen und geschlossenen Listen implementiert werden sollen. Würde ein einfacher Vektor ausreichen oder müsste ich etwas anderes wie eine Prioritätswarteschlange verwenden?
Vielen Dank für die gute Antwort, aber ich habe versucht, eine Hash-Karte vorher zu machen, und ich bin derzeit schrecklich darin. Ich möchte nur, dass dieses System funktioniert und es später verbessert. Sind die offenen und geschlossenen Listen mit Vektoren möglich? – StonerLoods
Ja, sie können beide mit Vektoren gemacht werden, Sie müssen den "offenen Vektor" durchqueren und den kürzesten Pfad finden, in ähnlicher Weise wird das Traversieren von "geschlossenem Vektor" auch benötigt, um nach verworfenem Quadrat zu suchen. – uSeemSurprised