In
quantum computing, a
quantum algorithm is an
algorithm which runs on a realistic model of
quantum computation, the most commonly used model being the
quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite sequence of instructions, or a step-by-step procedure for solving a problem, where each step or instruction can be performed on a classical
computer. Similarly, a quantum algorithm is a step-by-step procedure, where each of the steps can be performed on a
quantum computer. Although all classical algorithms can also be performed on a quantum computer, the term quantum algorithm is usually used for those algorithms which seem inherently quantum, or use some essential feature of quantum computation such as
quantum superposition or
quantum entanglement.