Data Structures and Algorithm Analysis in C++, Third Edition (Dover Books on Computer Science)