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 [2026-04-04 20:05] – hof | gf_informatik:suchen_und_sortieren:binaersuche [2026-04-07 11:50] (aktuell) – [Aufgabe B3: Binäre Suche in Python] hof | ||
|---|---|---|---|
| Zeile 104: | Zeile 104: | ||
| <nodisp 1> | <nodisp 1> | ||
| ++++Lösung| | ++++Lösung| | ||
| - | <code python binaere_suche_loesung.py> | + | <html>< |
| def binary_search(l, | def binary_search(l, | ||
| - | """ | ||
| - | wenn das Element nicht existiert.""" | ||
| links = 0 | links = 0 | ||
| rechts = len(l) - 1 | rechts = len(l) - 1 | ||
| + | | ||
| while links <= rechts: | while links <= rechts: | ||
| mitte = (links + rechts) // 2 | mitte = (links + rechts) // 2 | ||
| - | | + | |
| - | return mitte | + | print(f' |
| - | | + | if element |
| + | return mitte # Gefunden! | ||
| + | | ||
| + | # Links weitersuchen | ||
| rechts = mitte - 1 | rechts = mitte - 1 | ||
| else: | else: | ||
| + | # Rechts weitersuchen | ||
| links = mitte + 1 | links = mitte + 1 | ||
| - | | + | |
| - | </code> | + | |
| + | |||
| + | print(binary_search([' | ||
| + | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||
| Zeile 168: | Zeile 174: | ||
| ++++ | ++++ | ||
| </ | </ | ||
| - | |||
| #### Aufgabe B5: Zeitmessung mit linearer und binärer Suche | #### Aufgabe B5: Zeitmessung mit linearer und binärer Suche | ||
| Zeile 215: | Zeile 220: | ||
| telnr = numbers[index] | telnr = numbers[index] | ||
| elapsed = time.time() - start | elapsed = time.time() - start | ||
| - | print(' | + | print(f'Die Nummer von {name} lautet {telnr}! Die Suche dauerte {elapsed:.2n}s.') |
| stopwatch(linear_search, | stopwatch(linear_search, | ||