Algorithms: patterns