Quantum algorithmic improvements for noisy intermediate scale quantum computers