Data Structures with C++ using STL, 2nd Edition by William Ford and William Topp; Prentice-Hall, 2002
IMPORTANT NOTE: The textbook has a number of typographical errors. See the text's errata list.
Introduction to Algorithms (Second Edition), by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein, published by MIT Press and McGraw-Hill.
Computer Science Student Resource Site