An Introduction to the Analysis of Algorithms by Michael Soltys