Introduction to Programming in Python : An Interdisciplinary Approach - Sedgewick, Robert (Addison-Wesley)