Я после Лафоре читал Седжвика. Седжвик пишет намного понятнее (как код, так и теорию к нему). Лафоре объясняет "на пальцах", но с пробелами. Для объяснения сортировки массивов рисует футбольную команду, а сортировка Шелла там практически не описана, я не смог её понять и читать про неё в интернете. А вот у Седжвика параллельно описывается очень много нюансов и Java, и теории алгоритмов. Приводятся интересные примеры.
Например, в дополнительной секции к одной из первых глав, где список задач для лучшего понимания, есть элементарная задача: написать метод, который вернет true, если все символы String'а циклично сдвинуть на несколько символов. И тут же пояснение: решение таких задач очень важно в изучении генных последовательностей.
И там и там, к сожалению, есть опечатки. По субъективным ощущениям - у Лафоре они чаще сбивают с толку. У Седжвика, помню, была такая опечатка: "LIFO (первым вошел, последним вышел)". А у Лафоре я долго не мог понять схему стека (при том, что я знал, как он работает). В итоге я решил, что в этой картинке просто опечатка, и названия двух элементов перепутали между собой.