Essential Algorithms: A Practical Approach to Computer Algorithms Using Python and C#, 2nd Edition