Different types of Algorithms