2.1 Algorithms