Dijakstra: Ist dieser Algo richtig notiert?



  • Hallo Forum,

    ich möchte den Dijakstra Algo implementieren und habe im Internet dazu gegoogelt.
    http://algorithmus_von_dijkstra.know-library.net/

    Hier geht es darum den kürzesten Weg zw Knoten s und e zu finden:

    * Setze i = 0;
    * Setze s als Startgraph T und nummeriere s mit i (= 0);
    * Solange T noch nicht e enthält,
    o Erhöhe i um 1;
    o suche eine Kante minimalen Gewichts, die einen Knoten, der nicht in T ist, mit T verbindet und
    o füge diese Kante und den somit verbundenen Knoten v zu T hinzu;
    o Nummeriere v mit i;
    * Laufe von e anfangend zurück zu s, indem als nächster Knoten stets der Knoten mit kleinster Nummerierung gewählt wird;

    So ist der Algo doch falsch? Nehmen wir an wir hätten einen Kreis mit 6 Knoten. Einen Knoten nennen wir s. Wir setzen das Gewicht der Kante zum linken Nachbarn zu 2. Von diesem aus sei der linke Nachbar e. Alle 4 restlichen Kanten haben das Gewicht 1. Dieser Algo würde doch zuerst alle Kanten mit 1 dem Graphen T hinzufügen und dann abbrechen wenn e erreicht sei. (Er würde den rechten Weg von s aus gehen. Länge: 4) Auf dem linken Weg würde er aber nur eine Länge von 3 haben.



  • Ja, ist falsch. f'`8k

    Bye, TGGC (\-/ returns)



  • Hab den Leuten den Fehler im Forum mitgeteilt.


Anmelden zum Antworten