  This article surveys the state of the art in quantum computer algorithms,
including both black-box and non-black-box results. It is infeasible to detail
all the known quantum algorithms, so a representative sample is given. This
includes a summary of the early quantum algorithms, a description of the
Abelian Hidden Subgroup algorithms (including Shor's factoring and discrete
logarithm algorithms), quantum searching and amplitude amplification, quantum
algorithms for simulating quantum mechanical systems, several non-trivial
generalizations of the Abelian Hidden Subgroup Problem (and related
techniques), the quantum walk paradigm for quantum algorithms, the paradigm of
adiabatic algorithms, a family of ``topological'' algorithms, and algorithms
for quantum tasks which cannot be done by a classical computer, followed by a
discussion.
