Grokking Algorithms: An illustrated guide for programmers and other curious people - Bhargava (IEEE, 2003)