Data structures and algorithms in Java. - Adam Drozdek (2001)