the algorithm design manual, 2nd edition pdf