Vai al contenuto principale

Informatica · Ricerca

Valori trovati solo al quarto giro

Si usa la funzione

def cerca(a, x):
    lo, hi = 0, len(a) - 1
    while lo <= hi:
        mid = (lo + hi) // 2
        if a[mid] == x:
            return mid
        elif a[mid] < x:
            lo = mid + 1
        else:
            hi = mid - 1
    return -1

su un array a di 10 numeri tutti diversi, ordinato in modo crescente. Per quanti dei 10 valori x presenti in a la chiamata cerca(a, x) esegue esattamente 4 giri del ciclo while?

La tua risposta

Vanno bene sia 3,14 sia 3.14.