Problem solving with algorithms and data structures using Python - Miller, Bradley N. (Franklin, Beedle & Associates, 2011)