Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:suchen_und_sortieren:binaersuche [2026-04-04 20:05] hofgf_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><bottom-editor>
 def binary_search(l, v): def binary_search(l, v):
-    """Gibt den Index des gesuchten Elements in l zurück, None, 
-       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
-        if l[mitte] == v: +        element = l[mitte] 
-            return mitte +        print(f'Besuche {mitte} ({element}) im Intervall {links}-{rechts}'
-        elif l[mitte] > v:+        if element == v: 
 +            return mitte  # Gefunden! 
 +        if < element: 
 +            # Links weitersuchen
             rechts = mitte - 1             rechts = mitte - 1
         else:         else:
 +            # Rechts weitersuchen
             links = mitte + 1             links = mitte + 1
-    return None +             
-</code>+    return None  # Nichts gefunden 
 + 
 +print(binary_search(['A','C','D','G','J','N','Q','X'],'J')) # output must be: 4 
 +</bottom-editor></html>
 ++++ ++++
 </nodisp> </nodisp>
Zeile 168: Zeile 174:
 ++++ ++++
 </nodisp> </nodisp>
- 
  
 #### 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('Die Nummer von {0} lautet {1}! Die Suche dauerte {2:.2f}s.'.format(name, telnr, elapsed))+    print(f'Die Nummer von {name} lautet {telnr}! Die Suche dauerte {elapsed:.2n}s.')
  
 stopwatch(linear_search, 'Annina') stopwatch(linear_search, 'Annina')
  • gf_informatik/suchen_und_sortieren/binaersuche.1775333142.txt.gz
  • Zuletzt geändert: 2026-04-04 20:05
  • von hof