Efficient Quantum State Preparation