Java Software Structures : Designing and Using Data Structures - Lewis, John (Addison-Wesley)