Data structure and algorithms in c++ third edition - Drozdek, Adam. (Boston, MA : Course Technology, 2004)