L'algoritmo di ricerca di Grover è un algoritmo ideato da Lov Grover nel 1996 ai Bell Labs per risolvere un problema di ricerca in un database indifferenziato di N elementi in O(N1/2) tempo usando O(log N) come spazio di memorizzazione. Un classico esempio può essere la ricerca in un elenco telefonico di un nome disponendo solo del numero telefonico. Disponendo di un computer classico si può pervenire al nome dopo aver cercato mediamente metà dell'elenco. L'algoritmo di Grover, sfruttando la proprietà di sovrapposizione dei qubit, può pervenire alla risposta corretta molto più velocemente. L'algoritmo di Grover può essere utilizzato nella Teoria delle collisioni.