Algorithm design - Michael T. Goodrich (John Wiley & Sons, 2002)