Книга по алгоритмам — что взять?
"Алгоритмы на Java" Сэджвик, Уэйн"Алгоритмы. Построение и анализ" Кормен"Алгоритмы. Вводный курс" Кормен"Алогритмы и структуры данных в Java" Лафоре
Для новичка:
Стивен Скиена. "Алгоритмы. Руководство по разработке"