Books — algorithm design paradigms