Data structures and problem solving using C++ - Weiss, Mark Allen (Addison-Wesley, 2000)