Foundational quantum algorithms
A review of foundational quantum algorithms is necessary to understand the state-of-the-art progress in QC and its potential to overcome problems intractable for classical computation. Starting from the basic concepts, an algorithm is a series of computer-executable steps to conduct a computation or solve a problem (Montanaro, 2016). Consequently, an algorithm is considered quantum when it successfully performs on a quantum machine. Generally speaking, all classical algorithms could theoretically perform on such a system. Nevertheless, in a strict sense, quantum algorithms refer to those with at least one step involving quantum mechanical properties, such as superposition or entanglement. One of the main attributes of quantum computers is quantum parallelism, which allows for many existing quantum algorithms (Álvarez et al., 2008).
A quantum circuit often characterizes a quantum algorithm. A quantum circuit is a structure where the problem-solving...