program a-star
program a-star // Initialisierung der Open List, die Closed List ist noch leer // (die Priorität bzw. der f Wert des Startknotens ist unerheblich) openlist.enqueue(startknoten, 0) // diese Schleife wird durchlaufen bis entweder // - die optimale Lösung gefunden wurde oder // - feststeht, dass keine Lösung existiert repeat // Knoten mit dem geringsten f Wert aus der Open List entfernen currentNode := openlist.removeMin() // Wurde das Ziel gefunden? if currentNode == zielknoten then return PathFound // Der aktuelle Knoten soll durch nachfolgende Funktionen // nicht weiter untersucht werden damit keine Zyklen entstehen closedlist.add(currentNode) // Wenn das Ziel noch nicht gefunden wurde: Nachfolgeknoten // des aktuellen Knotens auf die Open List setzen expandNode(currentNode) until openlist.isEmpty() // die Open List ist leer, es existiert kein Pfad zum Ziel return NoPathFound end