Design and analysis of algorithms - Goodrich, Michael T. (Wiley, 2021)