This kata covers the concept of a quantum oracle and Deutsch-Jozsa and Bernstein-Vazirani algorithms.
A good introduction to quantum oracles can be found in the Q# documentation.
This algorithm has no practical use, but it is famous for being one of the first examples of a quantum algorithm that is exponentially faster than any deterministic classical algorithm.
- A good place to start is Wikipedia.
- Nielsen, M. A. & Chuang, I. L. (2010). Quantum Computation and Quantum Information. pp. 34-36
- Lecture 5: A simple searching algorithm; the Deutsch-Jozsa algorithm
- Bernstein, E. & Vazirani, U. (1997). Quantum complexity theory. SIAM J. Comput. 26, 5, pp. 1411-1473.
- "Quantum Algorithm Implementations for Beginners", section III.
- "A Generalization of Bernstein-Vazirani Algorithm to Qudit Systems".