- Vorraussetzung:
- ------------------
- Angenommen wird ein Graph G = (V,E) mit (V = Menge aller Knoten, E = Menge aller Kanten)
- G ist Gerichtet
- G ist Gewichtet (Kantengewichtung entspricht der Länger der Kante)
- G hat keine Kreise
- n sei die Anzahl der Elemente in V == n sei die Anzahl Knoten im Graph
- Algo:
- ------
- // Initialisierung
- Mat[u,u] := 0; //Um von A nach A zu kommen benötige ich keine Kosten.
- Mat[u,v] := Kosten(u->v) für alle Kanten (u,v) aus E //für alle Kanten im Graphen
- Mat[u,v] := UNENDLICH für alle anderen Kanten //für alle die Knoten die Keine direkte Verbindung (Kante) zueinander haben
- //Schleife
- for i = 1 .. n // n = Anzahl der Knoten im Graph
- for each Paar(u,v) mit u,v sind Elemente von V // Ein Paar (u,v) entspricht hier einem Feld in der Matrix.
- // Man benötigt hierzu wohl 2 Schleifen um das zu realisieren
- Mat[u,v] := Minimum(Mat[u,v] oder Mat[u,i]+Mat[i,v]) //Minimum wähl das Kleinere der Beiden aus.