Quantum computers can execute algorithms that dramatically outperform
classical computation. As the best-known example, Shor discovered an efficient
quantum algorithm for factoring integers, whereas factoring appears to be
difficult for classical computers. Understanding what other computational
problems can be solved significantly faster using quantum algorithms is one of
the major challenges in the theory of quantum computation, and such algorithms
motivate the formidable task of building a large-scale quantum computer. This
article reviews the current state of quantum algorithms, focusing on algorithms
with superpolynomial speedup over classical computation, and in particular, on
problems with an algebraic flavor.Comment: 52 pages, 3 figures, to appear in Reviews of Modern Physic