Очень хорошая книга по алгоритмам которую я видел - это "Структуры данных и алгоритмы в Java" Лафоре Роберт. Пусть вас не смущает что написано "в Java", там этот язык только для примера дан. Лучшей книги пока что не видел.
Про книгу "Грокаем алгоритмы" могу сказать что это дерьмо собачье, непонятно откуда столько хвалебных отзывов, книга наполнена какими-то дебильными и не связными рисунками, я понимаю что автор хотел, но у него это плохо получилось.