Data structures and algorithms in java - Drozdek, Adam (Cenage Learning, 2007)