Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:suchen_und_sortieren:binaersuche:anleitung [2023-06-06 18:33] – [3: Wiederholte Schritte in der while-Schleife:] gra | gf_informatik:suchen_und_sortieren:binaersuche:anleitung [2025-02-16 08:54] (aktuell) – [3: Wiederholte Schritte in der while-Schleife:] hof | ||
---|---|---|---|
Zeile 24: | Zeile 24: | ||
++++ | ++++ | ||
### 2: Bedingung der while-Schleife | ### 2: Bedingung der while-Schleife | ||
- | Wir müssen so lange suchen, wie wir den Suchbereich noch verkleinern können. Es kann sein, dass solange gesucht wird, bis der Suchbereich sich nur noch auf ein einziges Element | + | Wir müssen so lange suchen, wie wir den Suchbereich noch verkleinern können. Es kann sein, dass solange gesucht wird, bis der Suchbereich sich nur noch auf ein einziges Element |
++++ Python| | ++++ Python| | ||
Zeile 31: | Zeile 31: | ||
</ | </ | ||
++++ | ++++ | ||
- | |||
### 3: Wiederholte Schritte in der while-Schleife: | ### 3: Wiederholte Schritte in der while-Schleife: | ||
Zuerst berechnen wir die Mitteposition. Sie ergibt sich aus zwei Schritten: Erstens von der rechten Position die linke abziehen und diesen Wert durch 2 teilen. Zweitens die linke Position hinzuaddieren. Also: '' | Zuerst berechnen wir die Mitteposition. Sie ergibt sich aus zwei Schritten: Erstens von der rechten Position die linke abziehen und diesen Wert durch 2 teilen. Zweitens die linke Position hinzuaddieren. Also: '' | ||
Zeile 37: | Zeile 36: | ||
Danach vergleichen wir das Element an der Mitteposition mit dem gesuchten Element. Da es drei Möglichkeiten gibt, ist eine '' | Danach vergleichen wir das Element an der Mitteposition mit dem gesuchten Element. Da es drei Möglichkeiten gibt, ist eine '' | ||
* Wenn das Element an der Mitteposition gleich gross ist wie das gesuchte Element, geben wir die Mitteposition zurück. | * Wenn das Element an der Mitteposition gleich gross ist wie das gesuchte Element, geben wir die Mitteposition zurück. | ||
+ | * Wenn das Element an der Mitteposition kleiner ist als das gesuchte Element, befindet sich das gesuchte Element rechts davon. Wir begrenzen den Suchbreich auf die rechte Hälfte, indem wir die Variable '' | ||
* Wenn das Element an der Mitteposition grösser ist als das gesuchte Element, befindet sich das gesuchte Element links davon. Wir begrenzen den Suchbreich auf die linke Hälfte, indem wir die Variable '' | * Wenn das Element an der Mitteposition grösser ist als das gesuchte Element, befindet sich das gesuchte Element links davon. Wir begrenzen den Suchbreich auf die linke Hälfte, indem wir die Variable '' | ||
- | * Wenn das Element an der Mitteposition kleiner ist als das gesuchte Element, befindet sich das gesuchte Element links davon. Wir begrenzen den Suchbreich auf die rechte Hälfte, indem wir die Variable '' | ||
++++ Python| | ++++ Python| | ||
Zeile 50: | Zeile 49: | ||
right = middle - 1 | right = middle - 1 | ||
</ | </ | ||
- | +++ | + | ++++ |
- | + | + | |
### 4: Letzer Schritt nach der while-Schleife | ### 4: Letzer Schritt nach der while-Schleife | ||
Wenn wir uns in der Funktion und nach der while-Schleife befinden, heisst das: | Wenn wir uns in der Funktion und nach der while-Schleife befinden, heisst das: |