Какую книгу по алгоритмам посоветуете?
Очень рекомендую эту книгу. 
Большая, толстая. очень наглядные структуры с алгоритмами и разборами. На Java.  Куча заданий


И вот эту серию. Простая и легкая, но хорошая:

список книг