Some algorithms implemented for learning purposes.