La ricerca per interpolazione è un algoritmo di ricerca in un array ordinato.
Il principio è simile a quello della ricerca dicotomica : implica il confronto di un elemento dell'array con il valore cercato, quindi la ricerca ricorsiva nella parte rilevante dell'array. La differenza sta nella scelta del valore del tavolo scelto. In una ricerca dicotomica, viene utilizzata la mediana. Questa scelta non è ottimale se sappiamo che i valori sono “ben distribuiti”, ad esempio per cercare la parola “banana” in un dizionario, è più rilevante cercare all'inizio del dizionario. Quindi nella ricerca per interpolazione, è la posizione che corrisponde al luogo dell'elemento cercato, se i dati fossero regolarmente spaziati tra il minimo e il massimo della (sotto) tabella, che viene studiata.
Se i valori della tabella sono determinati su una legge uniforme , la ricerca ha una complessità temporale in media di .
L'algoritmo è stato presentato da W Wesley Peterson, in un articolo del 1957.