Data structures and algorithms in C++ - Drozdek, Adam (Cengage Learning, 2013)
Theoretical, yet practical, this book highlights the fundamental connection between data structures and their algorithms, giving equal weight to the practical implementation of data structures and the theoretical analysis of algorithms and their efficiency.