Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » loesungss06
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:aud:loesungss06 [10.02.2012 14:42] – DaniSt | pruefungen:bachelor:aud:loesungss06 [10.02.2012 14:47] – DaniSt | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
1) **Binärsuche** | 1) **Binärsuche** | ||
- | + | < | |
- | | + | public boolean binarySearch(int[] x, int value) { |
- | | + | int wert = (x.length-1)/ |
while(wert!= 0 && wert!= x.length-1) { | while(wert!= 0 && wert!= x.length-1) { | ||
if(value == x[wert]) | if(value == x[wert]) | ||
return true; | return true; | ||
else if(value < x[wert]) | else if(value < x[wert]) | ||
- | wert /=2; | + | wert /=2; |
else | else | ||
wert += wert/2; | wert += wert/2; | ||
Zeile 13: | Zeile 13: | ||
|| wert==x.length-1 && x[x.length-1]==value) | || wert==x.length-1 && x[x.length-1]==value) | ||
return true; | return true; | ||
- | } | + | } |
- | return false; | + | return false; |
- | | + | } |
- | + | public static boolean binSuchRek(int[] x, int value) { | |
- | | + | |
return binHelper(x, | return binHelper(x, | ||
- | | + | } |
+ | |||
+ | | ||
- | public static boolean binHelper(int[] x, int value, int marker) { | ||
| | ||
|| marker==x.length-1 && x[x.length-1]==value) | || marker==x.length-1 && x[x.length-1]==value) | ||
return true; | return true; | ||
+ | |||
if( marker == 0 || marker == x.length-1) | if( marker == 0 || marker == x.length-1) | ||
return false; | return false; | ||
+ | |||
if(value == x[marker]) | if(value == x[marker]) | ||
return true; | return true; | ||
+ | |||
else if(value < x[marker]) | else if(value < x[marker]) | ||
return binHelper(x, | return binHelper(x, | ||
+ | |||
else | else | ||
return binHelper(x, | return binHelper(x, | ||
- | } | + | } |
+ | </ | ||
+ | 2)**Schleifeninvariante** | ||
- | 2)**Schleifeninvariante** | ||
a) | a) | ||
F1: f = a! (logisch gedacht) | F1: f = a! (logisch gedacht) |