Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesungws16 [02.04.2019 14:30] Nico Hambauerpruefungen:bachelor:aud:loesungws16 [22.05.2019 12:32] SpeedyGonzalez
Zeile 86: Zeile 86:
 int b = ((int) (x/Math.pow(10,i)) % 10) + 9; int b = ((int) (x/Math.pow(10,i)) % 10) + 9;
 ... ...
 +</code>
 +
 +oder einfacher:
 +<code java>
 +...
 +bs[b + 9].addLast(x);
 </code> </code>
 ==== Aufgabe 4 Dynamische Programmierung ==== ==== Aufgabe 4 Dynamische Programmierung ====
Zeile 123: Zeile 129:
  ...  ...
  for (int k = 2; k < n+1; k++){  for (int k = 2; k < n+1; k++){
- for (int i = 0; i < n; i++){ //Meiner Meinung nach mus hier unbedingt!!! i < k stehen, sonst ArrayIndexOutOfBounds Exception+ for (int i = 0; i < n; i++){ //Meiner Meinung nach mus hier unbedingt!!! i < k stehen, sonst rechnet man mit unbefuellten werten (buttom up beachten!) 
- mem[k] = mem[k] + mem[i] * mem[n-1-i];+ mem[k] = mem[k] + mem[i] * mem[n-1-i]; //hier auch mem[k-1-i]!
  }  }
  }  }
Zeile 191: Zeile 197:
  quelleSeite.add(v);  quelleSeite.add(v);
  senkeSeite.remove(v);  senkeSeite.remove(v);
- df = Math.min(df, durchfluss(quelleSeite, senkeSeite));+ df = Math.min(df, durchfluss(quelleSeite, senkeSeite, senke)); 
 +                        //"Backtracking"
  senkeSeite.add(v);  senkeSeite.add(v);
  quelleSeite.remove(v);  quelleSeite.remove(v);