Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 (Undergraduate Texts in Computer Science)