Various algorithms' implementations done for learning purposes