3.2 Algorithms