Algorithms and Data Structures (2011)

Problem Solving with Algorithms and Data Structures Using Python
SECOND EDITION – August 22, 2011
by Bradley N. Miller, David L. Ranum
http://interactivepython.org/runestone/static/pythonds/index.html

Implementing a Stack in Python

Recursion > Dynamic programming

Self check questions

http://runestoneinteractive.org