Different algorithms implemented as study exercises.