Ergebnis 1 bis 9 von 9

Thema: Problem mit der Wegfindung..

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #8
    Meine Erklährung ging wohl etwas in die Hose... (schäm)
    Das Programm berechnet für jeden Wegpunkt den kürzesten Weg.

    In deinem Beispiel:
    Code:
    S  7  8  9  10
    1  2  3  10 11
    8  8  5  13 12
    17 17 12 19  Z
    (edit: habs immer no net gerafft mit den Abständen.....

    Also die Länge des kürzesten Weges ist 12. (Wobei es zwei kürzeste Wege gibt.)
    Mein Programm findet aber nur die Länge des kürzesten Weges, nicht aber den Weg selbst.

    Im Programm selbst habe ich zwei Arrays gebraucht, eines mit den Anfangswerten(die Werte die du geschrieben hast) und ein Zweites mit den meinen berechneten Werten(die Werte von mir).
    Dann eine Rekursive Funktion. Welche folgendes tut: Sie geht einen Weg und schreibt die Wegdauer ständig in das Array mit den berechneten Wegen. Sie tut das solange bis sie in eine Saackgase gerät, d.h bis sie Rund um sich nur a)Rand b)Hindernisse c)das Ziel oder d)einen kürzeren Weg hat. Ist das der Fall springt sie einen Aufruf zurück fährt dort mit einem anderen Weg weiter. Trifft es im Array mit den berechneten Werten auf einen längeren Weg, wird dieser einfach mit dem neuen, kürzeren überschrieben.
    Am Ende der Funktion hat man sicher für jedes Feld den kürzesten Weg gefunden.
    Nun prüft man noch welches das kleinste Feld neben Z ist und man hat die Lösung.

    Das Programm hat ein 15*15 gosses Feld in unter einer Sekunde geschafft. Aber wie gesagt es hat auch seine Mängel, denn um zu wissen welchen Weg man den nun wirklich gegangen ist, braucht man weitere Variablen, welche auch wieder Speicher kosten.

    Einfach den [.Code][./code] tag verwenden

    Geändert von Freezy (09.04.2004 um 20:38 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •