Iterative Phase Retrieval Algorithms