Quantum Fourier Transform and its Applications