Goodrich MT, Tamassia R, Mount D.  2004.  Data Structures and Algorithms in C++.