The Algorithm Design Manual - Marmara