Quantum computing circuits, gates and example algorithms