Getting started with Grover's search algorithm
Grover's search algorithm is a quantum version of the searching algorithm that helps to accomplish an unordered search, which means finding an element or multiple elements in a database or array. This algorithm shows the power of quantum computing in the sense that it minimizes the number of operations to carry out the searching process compared to its classical search versions. Grover's algorithm provides a speedup in the searching process and utilizes the technique of amplitude amplification for the marked item that we are trying to search.
As you already saw in Chapter 8, Quantum Algorithms I – Deutsch-Jozsa and Bernstein-Vazirani, how the algorithms required an oracle in order to run, in a very similar manner, Grover's algorithm also requires an oracle that encodes the marked item (the element that we want to search) in a list of several items. This oracle is known as Grover's oracle and can be thought...