# Binary Search from random import randint condition = True while condition: n = int(input('Anzahl n der Datenelemente (n < 1000): ')) if n < 1000: condition = False a = list(range(1,n+1)) for i in range(0,n): a[i] = randint(0,2000) print('Quelliste: ') print(a) # Sortieren for j in range(0,n-1): min = a[j] for i in range(j+1,n): if a[i] < min: min = a[i] a[i] = a[j] a[j] = min print('sortierte Liste: ') print(a) print() # binarysearch liefert den Booleschen Wert True, falls value als # Inhalt einer Komponente des Arrays array vorkommt, # andernfalls liefert binarysearch den Booleschen Wert False. def binarysearch(value, array): if array == [] or (array[0] != value and len(array) == 1): return False else: midvalue = array[len(array)//2] if value == midvalue: return True elif value < midvalue: return binarysearch(value, array[:len(array)//2]) else: return binarysearch(value, array[len(array)//2 + 1:]) value = int(input('zu suchende Zahl: ')) # Aufruf der Funktion binarysearch # zur Suche von value innerhalb des Arrays a if binarysearch(value,a): print(value,'wurde gefunden') else: print(value,'wurde nicht gefunden')