Fundamantals of Data Structures in C ++ - HOROWITZ ELLIS