Types Of Quantum Algorithms