Grokking Algorithms by Aditya Bhargava (2016, Trade Paperback) This textbook covers a lot of ground without feeling overwhelming.