Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » loesungss06 (Übersicht)
Dies ist eine alte Version des Dokuments!
1) Binärsuche <code java> public boolean binarySearch(int[] x, int value) {
int wert = (x.length-1)/2; while(wert!= 0 && wert!= x.length-1) { if(value == x[wert]) return true; else if(value < x[wert]) wert /=2; else wert += wert/2; if(wert==0 && x[0]==value || wert==x.length-1 && x[x.length-1]==value) return true; } return false;
}
public static boolean binSuchRek(int[] x, int value) {
return binHelper(x,value,(x.length-1)/2);
}
public static boolean binHelper(int[] x, int value, int marker) {
if(marker ==0 && x[0]==value || marker==x.length-1 && x[x.length-1]==value) return true;
if( marker == 0 || marker == x.length-1) return false;
if(value == x[marker]) return true;
else if(value < x[marker]) return binHelper(x,value,marker/2);
else return binHelper(x,value,marker + marker/2);
} </code java> 2)Schleifeninvariante
a) F1: f = a! (logisch gedacht) F2: f = n! / a! (f=a*n logisch ausgeschlossen und F2 != F1)
F1: wp…. f*(a+1) = (a+1)! f*(a+1) = (a+1)*a! f = a! q.e.d.
F2: wp…. f*a = n! / (a-1)! f*a = n! / ( a! / a) f = n! /a! q.e.d.
b) xxx
3)
Z1: private = nur public oder abstract
Z8: float[] statt int
Z13: Rückgabewert der Funtkion nicht deklariert, int
Z13: } fehlt hinter geschwindigkeit;
Z17: extends → implements
Z20: verdichtung ist nirgends deklariert worden
Z25: private = public
Z29: extends → ,
Z33: Rückgabewert int - returnt aber float
4a) Balancierter binärer Suchbaum, bei dem für jeden Knoten die Höhe der beiden Teilbäume sich höchstens um 1 unterscheidet.
Aufwand: Löschen, Suchen, Einfügen in O(log n)