Data strvetrres anil algorithms : with object - Oriented desien patterns in C ++ - BRUNO R. PREISS