Data Structures and Algorithm Analysis in C (2nd) --Mark Allen Weiss