Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Nele Bachmeier Geändert vor über 10 Jahren
1
Diskrete Mathe II Übung 23.5.2005
2
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Hinweis Heutige Übung zum Thema Floyd Donnerstag keine Vorlesung Nächsten Montag (30.05.05) Übung zum Thema Scan-Line
3
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 3 Floyd – Graph A B E D C 10 20 15 20 10
4
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 4 Floyd – Adjazenzmatrix
5
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 5 Floyd – Pseudocode private floyd (float A [n,n], float C [n,n]) { int i, j, k; for ( j = 1; j <= n; j++ ) { for ( k = 1; k <=n; k++ ) { //A: Wege A[j,k] = C[j,k]; //C: Kanten } } for( i = 1; i <= n; i++ ) { for( j = 1; j <= n; j++ ) { for( k = 1; k <= n; k++ ) { if ( A[j,i] + A[i,k] < A[j,k] ) A[j,k] = A[j,i] + A[i,k]; }
6
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 6 Floyd – Wegmitführung private floyd (float A [n,n], float C [n,n], int W[n,n] ) { int i, j, k; for ( j = 1; j <= n; j++ ) { for ( k = 1; k <=n; k++ ) { //A: Wege A[j,k] = C[j,k]; W[j,k] = ∞; //C: Kanten } } for( i = 1; i <= n; i++ ) { for( j = 1; j <= n; j++ ) { for( k = 1; k <= n; k++ ) { if ( A[j,i] + A[i,k] < A[j,k] ) A[j,k] = A[j,i] + A[i,k]; W[j,k] = i; }
7
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 7 Wegmitführung Was steht in der Matrix W?
8
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 8 Ausgabe kürzester Weg public weg(int[][] W,int X,int Y) { weg_rekursiv(W,X,Y); gib Y aus; } private weg_rekursiv(int[][] W,int X,int Y) { if ( W[X,Y] = ∞ ) then gib X aus; else { Z = W[X,Y]; weg_rekursiv(W,X,Z); weg_rekursiv(W,Z,Y); } }
9
IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 9 Übungsaufgabe 2.Wendet den Algorithmus von Floyd auf den Graphen an und notiert die jeweilig aktuellen Kosten in der Adjazenzmatrix. Beschränkt Euch bei der Betrachtung auf alle Kombinationen der Laufvariablen i,j,k, bei denen die if-Bedingung erfüllt ist. Wählt dazu die Felder der Matrix so groß, dass neue Werte neben den alten geschrieben werden können. 85 D E A B C 30 90 20 40 100 10 40 3.Notiert die Matrix der kürzesten Wege (bezogen auf das Ergebnis aus 2.) und wendet den Ausgabealgorithmus auf einen Weg an. 1.Notiert die dem obigen Graphen entsprechende Adjazenzmatrix für die Kantengewichte (Kosten).
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.