{
  "name": "Quantum algorithms list: complexity, speedup, and evidence",
  "description": "A row-by-row complexity table. Evidence rates the quantum statement: proved, conditional, heuristic, or demonstrated. Speedup is the comparison with the classical column, and none-proved means that comparison is not a theorem.",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "creator": "QuantumAlgorithms.ai editorial",
  "url": "https://quantumalgorithms.ai/quantum-algorithms/table",
  "dateModified": "2026-10-28",
  "attribution": "QuantumAlgorithms.ai editorial. AI-assisted compilation sourced from the primary papers named in each row. CC BY 4.0.",
  "algorithms": [
    {
      "id": "shor",
      "algorithm": "Shor's algorithm",
      "problem": "Integer factorization and discrete logarithms",
      "model": "Gate array",
      "quantum_complexity": "O((log n)^2 (log log n) (log log log n)) gate-array steps for an integer n, plus classical post-processing polynomial in log n (Shor 1997). Resource estimates for a 2048-bit RSA integer are separate: about 20 million noisy qubits and about 8 hours under the assumptions in Gidney and Ekerå 2021, and fewer than one million noisy qubits and less than one week under the assumptions in Gidney 2025.",
      "classical_comparison": "Shor 1997 does not prove a classical lower bound. The polynomial quantum runtime is not a theorem that factoring is classically hard.",
      "speedup": "exponential",
      "evidence": "proved",
      "year": "1994",
      "reference_slug": "shor-1997",
      "reference_url": "https://quantumalgorithms.ai/references/shor-1997",
      "page": "https://quantumalgorithms.ai/algorithms/shor"
    },
    {
      "id": "grover",
      "algorithm": "Grover's algorithm",
      "problem": "Unstructured search",
      "model": "Oracle",
      "quantum_complexity": "Θ(√(N/t)) queries when t items are marked. Optimal in the black-box model up to a small constant (Grover 1996; Boyer et al. 1998; Bennett et al. 1997).",
      "classical_comparison": "Θ(N/t) queries to the same oracle in the worst case.",
      "speedup": "quadratic",
      "evidence": "proved",
      "year": "1996",
      "reference_slug": "grover-1996",
      "reference_url": "https://quantumalgorithms.ai/references/grover-1996",
      "page": "https://quantumalgorithms.ai/algorithms/grover"
    },
    {
      "id": "phase-estimation",
      "algorithm": "Quantum phase estimation",
      "problem": "Eigenphase of a unitary",
      "model": "Gate array, given an eigenstate",
      "quantum_complexity": "Precision 2^(−l−2) with error probability at most ε, using the powered unitary O(l log(l/ε)) times plus a term polynomial in l (Kitaev 1995, Lemma 10).",
      "classical_comparison": "No single classical counterpart. The bound assumes an eigenstate, or a state whose overlap is not exponentially small, and controlled powers the machine can apply.",
      "speedup": "none-proved",
      "evidence": "conditional",
      "year": "1995",
      "reference_slug": "kitaev-1995",
      "reference_url": "https://quantumalgorithms.ai/references/kitaev-1995",
      "page": "https://quantumalgorithms.ai/algorithms/phase-estimation"
    },
    {
      "id": "hhl",
      "algorithm": "HHL algorithm",
      "problem": "Sparse linear systems",
      "model": "Gate array with sparse row access",
      "quantum_complexity": "Õ(κ T_B + κ² s² log(N)/ε) to prepare a state within vector distance ε of the normalized solution, for an s-sparse matrix of norm at most 1 (Harrow, Hassidim, and Lloyd 2009, Appendix A.1). The output is a quantum state, not the list of solution entries.",
      "classical_comparison": "Conjugate gradient, as that paper compares it, uses on the order of N s √κ log(1/ε) operations for the classical vector when A is positive definite. The two algorithms do not return the same kind of answer. A low-rank matrix with sampling access has a different classical algorithm (Gilyén, Lloyd, and Tang 2018).",
      "speedup": "exponential",
      "evidence": "conditional",
      "year": "2009",
      "reference_slug": "harrow-2009",
      "reference_url": "https://quantumalgorithms.ai/references/harrow-2009",
      "page": "https://quantumalgorithms.ai/algorithms/hhl"
    },
    {
      "id": "vqe",
      "algorithm": "Variational quantum eigensolver",
      "problem": "Approximate ground-state energy",
      "model": "Hybrid",
      "quantum_complexity": "No proved convergence time. Prepare an ansatz, estimate the energy by measurement, and update the parameters classically (Peruzzo et al. 2014). Reported runs include HeH+ on a photonic processor and LiH, BeH2, and a four-qubit Heisenberg model on a superconducting processor (Kandala et al. 2017).",
      "classical_comparison": "No theorem in the papers this library cites says the loop beats classical quantum-chemistry methods. The published demonstrations are on very small systems.",
      "speedup": "none-proved",
      "evidence": "heuristic",
      "year": "2014",
      "reference_slug": "peruzzo-2014",
      "reference_url": "https://quantumalgorithms.ai/references/peruzzo-2014",
      "page": "https://quantumalgorithms.ai/algorithms/vqe"
    },
    {
      "id": "qaoa",
      "algorithm": "QAOA",
      "problem": "Approximate combinatorial optimization",
      "model": "Hybrid",
      "quantum_complexity": "For p = 1, a worst-case approximation ratio of 0.6924 on MaxCut for connected 3-regular graphs (Farhi, Goldstone, and Gutmann 2014).",
      "classical_comparison": "Goemans and Williamson (1995) give an expected approximation ratio of at least 0.878 for MaxCut, and that guarantee is not restricted to 3-regular graphs. The QAOA authors say the p = 1 result is weaker than known classical algorithms for the same case.",
      "speedup": "none-proved",
      "evidence": "proved",
      "year": "2014",
      "reference_slug": "farhi-2014",
      "reference_url": "https://quantumalgorithms.ai/references/farhi-2014",
      "page": "https://quantumalgorithms.ai/algorithms/qaoa"
    },
    {
      "id": "hamiltonian-simulation",
      "algorithm": "Hamiltonian simulation",
      "problem": "Approximate e^{−iHt}",
      "model": "Gate array with Hamiltonian access",
      "quantum_complexity": "For a block encoding of norm at most 1, O(t + log(1/ε)) queries to simulate the exponential to spectral-norm error ε (Low and Chuang 2019, Theorem 1). Product formulas and the truncated Taylor series are different access models, with a polynomial and a logarithmic dependence on 1/ε respectively.",
      "classical_comparison": "The query bound is not a gate count until the oracle is a circuit. It is not one complexity that can be copied onto an arbitrary molecule.",
      "speedup": "exponential",
      "evidence": "proved",
      "year": "2019",
      "reference_slug": "low-chuang-2019",
      "reference_url": "https://quantumalgorithms.ai/references/low-chuang-2019",
      "page": "https://quantumalgorithms.ai/algorithms/hamiltonian-simulation"
    },
    {
      "id": "quantum-fourier-transform",
      "algorithm": "Quantum Fourier transform",
      "problem": "Discrete Fourier transform on amplitudes",
      "model": "Gate array",
      "quantum_complexity": "On n qubits the transform uses on the order of n² gates (Shor 1997, attributing the gate array to Coppersmith and to Deutsch).",
      "classical_comparison": "The classical fast Fourier transform writes all N = 2^n coefficients. The quantum transform does not return that list. A measurement yields one basis state. In Shor's algorithm the transform is not the bottleneck; modular exponentiation is.",
      "speedup": "exponential",
      "evidence": "proved",
      "year": "1994",
      "reference_slug": "shor-1997",
      "reference_url": "https://quantumalgorithms.ai/references/shor-1997",
      "page": "https://quantumalgorithms.ai/glossary/quantum-fourier-transform"
    },
    {
      "id": "deutsch-jozsa",
      "algorithm": "Deutsch–Jozsa algorithm",
      "problem": "Constant versus balanced Boolean function, under a promise",
      "model": "Oracle",
      "quantum_complexity": "One query, exactly (Deutsch and Jozsa 1992).",
      "classical_comparison": "Any deterministic classical algorithm needs 2^{n−1}+1 queries in the worst case on n-bit inputs. The exponential gap is that exact, deterministic comparison. It is not an exponential separation from bounded-error classical sampling.",
      "speedup": "exponential",
      "evidence": "proved",
      "year": "1992",
      "reference_slug": "deutsch-jozsa-1992",
      "reference_url": "https://quantumalgorithms.ai/references/deutsch-jozsa-1992",
      "page": ""
    },
    {
      "id": "bernstein-vazirani",
      "algorithm": "Bernstein–Vazirani algorithm",
      "problem": "Hidden string s, given f(x) = s·x mod 2",
      "model": "Oracle",
      "quantum_complexity": "One query. The algorithm was introduced at STOC 1993; this row cites the 1997 journal version (Bernstein and Vazirani).",
      "classical_comparison": "n queries to learn an n-bit string. The separation is polynomial (linear versus constant), not exponential.",
      "speedup": "polynomial",
      "evidence": "proved",
      "year": "1997",
      "reference_slug": "bernstein-vazirani-1997",
      "reference_url": "https://quantumalgorithms.ai/references/bernstein-vazirani-1997",
      "page": ""
    },
    {
      "id": "simon",
      "algorithm": "Simon's algorithm",
      "problem": "Hidden xor period, under a promise",
      "model": "Oracle",
      "quantum_complexity": "O(n) queries to find the hidden string s, for the promise that f(x) = f(y) exactly when x ⊕ y is 0 or s (Simon 1997; FOCS 1994).",
      "classical_comparison": "Ω(2^{n/2}) queries, including for bounded-error classical algorithms. The separation is an oracle promise problem. It is not, by itself, a factoring algorithm.",
      "speedup": "exponential",
      "evidence": "proved",
      "year": "1997",
      "reference_slug": "simon-1997",
      "reference_url": "https://quantumalgorithms.ai/references/simon-1997",
      "page": ""
    },
    {
      "id": "amplitude-amplification",
      "algorithm": "Amplitude amplification",
      "problem": "Boost the success probability of a quantum procedure",
      "model": "Oracle (a procedure and its inverse)",
      "quantum_complexity": "On the order of 1/√a uses of a procedure that succeeds with probability a, to reach a constant success probability (Brassard, Høyer, Mosca, and Tapp 2002).",
      "classical_comparison": "On the order of 1/a repetitions of the same procedure.",
      "speedup": "quadratic",
      "evidence": "proved",
      "year": "2002",
      "reference_slug": "brassard-2002",
      "reference_url": "https://quantumalgorithms.ai/references/brassard-2002",
      "page": "https://quantumalgorithms.ai/glossary/amplitude-amplification"
    },
    {
      "id": "amplitude-estimation",
      "algorithm": "Amplitude estimation",
      "problem": "Estimate an unknown success probability",
      "model": "Oracle",
      "quantum_complexity": "Phase estimation on the Grover iterate. After M iterations the additive error in the success probability is on the order of √(a(1−a))/M plus 1/M², with constant probability (Brassard, Høyer, Mosca, and Tapp 2002). This row does not restate the paper's leading constants.",
      "classical_comparison": "Sampling to additive error ε takes on the order of 1/ε² trials.",
      "speedup": "quadratic",
      "evidence": "proved",
      "year": "2002",
      "reference_slug": "brassard-2002",
      "reference_url": "https://quantumalgorithms.ai/references/brassard-2002",
      "page": "https://quantumalgorithms.ai/glossary/amplitude-amplification"
    },
    {
      "id": "quantum-counting",
      "algorithm": "Quantum counting",
      "problem": "Estimate the number of marked items",
      "model": "Oracle",
      "quantum_complexity": "Approximate counting by phase estimation on the Grover iterate (Brassard, Høyer, and Tapp 1998). The error in the fraction of marked items is the amplitude-estimation bound: on the order of √(a(1−a))/M plus 1/M² after M iterations (Brassard, Høyer, Mosca, and Tapp 2002).",
      "classical_comparison": "Sampling to additive error ε in that fraction takes on the order of 1/ε² trials.",
      "speedup": "quadratic",
      "evidence": "proved",
      "year": "1998",
      "reference_slug": "brassard-hoyer-tapp-1998",
      "reference_url": "https://quantumalgorithms.ai/references/brassard-hoyer-tapp-1998",
      "page": ""
    },
    {
      "id": "quantum-walk-search",
      "algorithm": "Quantum walk search",
      "problem": "Oracle search by a discrete-time quantum walk",
      "model": "Oracle",
      "quantum_complexity": "O(√N) oracle calls to find one marked item among N, for the hypercube walk in Shenvi, Kempe, and Whaley (2003). The abstract describes a speedup similar to other quantum search algorithms. It does not improve on Grover's query exponent.",
      "classical_comparison": "Θ(N) queries to the same unstructured oracle.",
      "speedup": "quadratic",
      "evidence": "proved",
      "year": "2003",
      "reference_slug": "shenvi-kempe-whaley-2003",
      "reference_url": "https://quantumalgorithms.ai/references/shenvi-kempe-whaley-2003",
      "page": ""
    },
    {
      "id": "qsvt",
      "algorithm": "Quantum singular value transformation",
      "problem": "Polynomial transformation of singular values",
      "model": "Block encoding",
      "quantum_complexity": "Applies a polynomial to the singular values of a block of a unitary, generalizing optimal Hamiltonian simulation, usually with a constant number of ancilla qubits (Gilyén, Su, Low, and Wiebe 2019). The abstract does not state a single end-to-end classical speedup, and this row does not add a degree-to-query leading constant.",
      "classical_comparison": "No single classical baseline. The comparison depends on the polynomial and on how the matrix is given.",
      "speedup": "none-proved",
      "evidence": "proved",
      "year": "2019",
      "reference_slug": "gilyen-su-low-wiebe-2019",
      "reference_url": "https://quantumalgorithms.ai/references/gilyen-su-low-wiebe-2019",
      "page": ""
    },
    {
      "id": "quantum-annealing",
      "algorithm": "Quantum annealing",
      "problem": "Heuristic optimization of an Ising cost",
      "model": "Analog annealing, not the gate-array model",
      "quantum_complexity": "No proved runtime that beats classical optimization on general instances. Kadowaki and Nishimori (1998) introduce quantum annealing as a numerical method for the transverse Ising model.",
      "classical_comparison": "This row does not claim a classical lower bound. Simulated annealing is a different heuristic, not a theorem being compared.",
      "speedup": "none-proved",
      "evidence": "heuristic",
      "year": "1998",
      "reference_slug": "kadowaki-nishimori-1998",
      "reference_url": "https://quantumalgorithms.ai/references/kadowaki-nishimori-1998",
      "page": ""
    }
  ]
}
