Data structures and algorithms in C++. - Drozdek Adam (2001)