Atlasingeniería

Estructuras de datos · Búsqueda binaria y sus variantes

Encontrar el bug: una búsqueda binaria que no termina

Enunciado

Con ciertos valores, esta búsqueda entra en un ciclo infinito. Indicá la línea que lo causa. 1 def search(values, target): 2 low, high = 0, len(values) - 1 3 while low <= high: 4 mid = (low + high) // 2 5 if values[mid] == target: 6 return mid 7 if values[mid] < target: 8 low = mid 9 else: 10 high = mid - 1 11 return -1

Tu intento

Resolución

Probá primero, aunque sea a medias: mirar la resolución sin haber intentado se siente igual que entender, y no lo es.