Data structures, algorithms, and object-oriented programming. - Heileman, Gregory L. (McGraw-Hill Companies, Inc., 1996)