Problem Solving with Data Structures and Algorithms using Python - Bradley N. Miller & David L. Ranum#