Concepts in data structures and software development - Schneider G Michael (1995)