Dive Into Algorithms by Bradford Tuckfield