The design of data structures and algorithms (Academic Service, 1989)