Binäre Suche
Verfasst: Montag 8. Juni 2009, 19:08
Hi, ich versuche hier grade die Binäre suche zu programmieren, rekursiv, aber irgendwie will das nich ganz und ich weiß nicht w mein denkfehler sein könnte. Würde mich über tipps freuen.
ich würde das ganze erst mal mit einer liste machen die mit int gefüllt ist, damit mir klar was sache ist
Würde mich über Hilfe freuen
Code: Alles auswählen
def binary(s, mylist, l, r):
# l ist 0 also das erste Element in der Liste
# und r ist das letzte element
if l == r:
return "Kein Element vorhanden"
# m soll die mitte der liste sein
m = (l + r)/ 2
# wenn das Element an der Stelle m gleich dem Suchbegriff ist, soll
# der das zurückgeben
if mylist[m] == s:
return mylist[m]
# falls nicht
else:
# und das element[m] größer ist als der suchbegriff wird die funktion
# erneut aufgerufen und diesmal soll mylist vom ersten elemnt bis
# zum mittleren Element - 1
if mylist[m] > s:
binary(s, mylist, l, m - 1)
return mylist
# wenn hier das element[m] kleiner ist als der suchbegriff wird die
# funktion ebenfalls erneut aufgerufen, aber diesmal soll die liste
# von dem element[m] +1 bis zum letzten element das ganze
# durchführen
elif mylist[m] < s:
binary(s, mylist, m + 1, r)
return mylist
Würde mich über Hilfe freuen