Este libro está diseñado para servir como texto para un curso sobre estructuras de datos y algoritmos. Normalmente, dicho curso puede formar parte del currículum de una carrera de Ingeniería Informática.!_!_En esta segunda edición se han introducido diversas mejoras. La más notable es que todas las colecciones están diseñadas e implementadas utilizando genéricos, una potente herramienta añadida recientemente a Java 5.0. También se ha hecho más hincapié en la importancia del diseño orientado a objetos dentro de este curso, añadiendo cuatro casos de estudio que ilustran el ciclo completo de diseño e implementación de un sistema software.