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
pruefungen:bachelor:aud:loesungws08 [19.02.2013 19:22] Dawodopruefungen:bachelor:aud:loesungws08 [11.05.2019 12:09] (aktuell) SpeedyGonzalez
Zeile 121: Zeile 121:
  return lin(1, 2, 3, n);  return lin(1, 2, 3, n);
 } }
 +private static int lin(int a, int b, int c, int steps) { ...
 </code> </code>
  
Zeile 128: Zeile 129:
 f(2) = 3 \\ f(2) = 3 \\
  
-Aus dem gegebenen Aufruf und dieser Basisfälle lässt sich schließen: \\ +Aus dem gegebenen Aufruf (mit 1,2,3)  und dieser Basisfälle lässt sich schließen: \\ 
-a = 1 = f(0) -> f(n - 3) \\ +a = 1 = f(0)  -->  entspricht f(n - 3) \\ 
-b = 2 = f(1) -> f(n - 2) \\ +b = 2 = f(1)  -->  entspricht f(n - 2) \\ 
-c = 3 = f(2) -> f(n - 1) \\+c = 3 = f(2)  -->  entspricht f(n - 1) \\ 
 + 
 +Das Wichtige an dieser Aufgabe ist sich bewusst zu machen, wie die Werte im angegebenem Aufruf, mit den Basisfällen bzw. f(n-3), f(n-2), f(n-1) in der angegebenen Formel korrespondieren. Das Ziel ist ja diese Werte der Formel in Java-Code auszudrücken.
  
 Somit wissen wir: \\ Somit wissen wir: \\
Zeile 160: Zeile 163:
  return a;  return a;
  
- lin(b, c, 1 + (((c - b) * a) % 100), steps - 1);+ return lin(b, c, 1 + (((c - b) * a) % 100), steps - 1);
 } }
 </code> </code>
Zeile 170: Zeile 173:
 f(0) = lin(1, 2, 3, 0) \\ f(0) = lin(1, 2, 3, 0) \\
 Das Ergebnis steht in Variable a. Das Ergebnis steht in Variable a.
 +
  
 **c)** **c)**
Zeile 179: Zeile 183:
  
  while(n > 0) {  while(n > 0) {
- int fn = 1 + (((c - b) * a) % 100)+ int fn = 1 + (((c - b) * a) % 100);
  a = b;  a = b;
  b = c;  b = c;
Zeile 238: Zeile 242:
  
 **a)**  **a)** 
-Der Wert jedes Knotens muss größerals der seiner Kinder sein.+Der Wert jedes Knotens muss größer (Max-Heap) oder kleiner (Min-Heap) als die Werte seiner Kinder sein.
  
 **b)** **b)**
Zeile 258: Zeile 262:
 <code java> <code java>
 public int parentIndex (int childIndex) { public int parentIndex (int childIndex) {
- return (childIndex - 1) / 2;+ return (childIndex % 2 == 1) ? (childIndex - 1) / 2 : (childIndex - 2) / 2; 
 +        //Oder auch einfach nur 
 +        // return childIndex/2;
 } }
 </code> </code>