J'essaie d'implémenter une solution en utilisant la recherche binaire. J'ai une liste de numérosImplémentation de la recherche binaire en Python
list = [1, 2, 3, 4, 6]
value to be searched = 2
Je vous ai écrit quelque chose comme ça
def searchBinary(list, sval):
low = 0
high = len(list)
while low < high:
mid = low + math.floor((high - low)/2)
if list[mid] == sval:
print("found : ", sval)
elif l2s[mid] > sval:
high = mid - 1
else:
low = mid + 1
mais quand je suis en train de mettre en œuvre, je reçois une erreur comme: indice hors de portée. S'il vous plaît aider à identifier le problème.
Pourquoi ne vous rien retournerez? Edit: Nvm, vous l'imprimez. –
Qu'est-ce que 'l2s'?Voulez-vous dire 'liste' là? (De plus, ne nommez jamais une variable 'list' ... elle cache la' liste' intégrée à Python.) – smarx
ok, j'ai compris. Il s'attend à ce que je retourne quelque chose au cas où je trouverais la valeur. – user3784294