Задать вопрос

Стоит ли читать «Алгоритмы на Java» Седжвика, если уже прочитал «Структуры данных и алгоритмы на Java» Лафоре?

Всем привет!

Хотелось бы понять, в чем принципиальная разница между книгами, рассматривает ли Седжвик какие-то темы, не вошедшие в книгу Лафоре (если да - то какие), и стоит ли тратить время и деньги на его книгу после прочтения Лафоре.

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

И там и там, к сожалению, есть опечатки. По субъективным ощущениям - у Лафоре они чаще сбивают с толку. У Седжвика, помню, была такая опечатка: "LIFO (первым вошел, последним вышел)". А у Лафоре я долго не мог понять схему стека (при том, что я знал, как он работает). В итоге я решил, что в этой картинке просто опечатка, и названия двух элементов перепутали между собой.
Ответ написан
Комментировать
@asd111
Книги рассматривают почти одно и то же. Достаточно прочесть одну.
Алгоритмов и структур данных огромное множество и все виды в одну книгу не уместить.
Есть базовый набор алгоритмов, которые должен знать каждый программист, и эту базу рассматривают в каждой книге.
Главное запомнить что для многих задач есть готовые алгоритмы чтобы не городить тормозные велосипеды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы