Информация об изменениях

Сообщение Re: Книги Рода Стивенса от 10.04.2016 10:33

Изменено 23.04.2016 14:33 LaptevVV

Мне известны три перевода Рода Стивенса.
Сначала была "Готовые алгоритмы на Бейсике"
Потом практически копипаст с нее: Delphi. Готовые алгоритмы.
Английский оригинал: Ready-to-run Delphi Algorithms.
И наконец, в этом году появился перевод книжки Essential Algorithms: http://www.ozon.ru/context/detail/id/135297188/

По первой книге. Все проги, естественно, на Дельфи.
Сам не проверял, но есть Приложение 1 и приложение 2, где прописан полный список примеров, откуда их брать и как запускать.
В книге 13 глав
1. Основные понятия. Здесь минимальный ликбез про О(). Математики опять же — никакой, логарифмы только...
2. Списки. Сначала под списком понимается динамический массив (как набор элементов),
а потом вводится традиционный связанный список. Операции, естественно.
И много разновидностей связных списков. Например, многосвязный список, который обозван переводчиком "список с потоками"...
А также другие связанные структуры — маленький обзор с картинками.
3. Стеки и очереди. Вся классика. Циклические очереди хорошо расписаны.
Но тут и очереди с приоритетами — элементарное введение, без пирамиды, как упорядоченный список.
И опять же "многопоточные" очереди — очереди с несколькими головами и одним хвостом... Змей Горыныч натуральный...
4. Массивы. Тут разные нестандартные массивы: треугольные, разреженные, сильно разреженные.
5. Рекурсия. Тут классика: факториал, НОД, Фибоначчи, кривые Гильберта и Серпинского.
Но описаны способы устранения рекрсии — хвостовой и в общем случае.
6. Деревья. Вся классика.
Описаны деревья со ссылками (у кого-то встречал термин "прошитые" про такие деревья).
Интересные Q-деревья (quadtree) — описывают пространственные отношения между элементами в пределах к4акой-либо ограниченной области.
Это определение из книжки.
7. Сбалансированные деревья. Здесь АВЛ и В-деревья.
8. Деревья решений.
Это поиск в игровых деревьях: минимакс и его улучшение (на примере крестиков — ноликов 3х3)
Далее метод ветвей и границ, и эвристические методы полного перебора.
Здесь же сложные задачи: задача о выполнимости, о разбиении, коммивояжера...
9. Сортировки. Ну, тут практически вся классика.
10. Поиск. Здесь, помимо простых, интерполяционный поиск, и следящий поиск.
11. Хеширование. Типовая классика.
12. Сетевые алгоритмы. Они же — алгоритмы на графах. Обходы, пути, остовное дерево, максимальный поток.
13. ООП. Здесь кое-какие паттерны объясняются: фасад, итератор, mvc, visitor (называется контролирующий объект — visitor object) и т.д.

Упражнений нет вообще.
Но в общем, книжка неплохая.

Essential Algorithms
Мне известны три перевода Рода Стивенса.
Сначала была "Готовые алгоритмы на Бейсике"
Потом практически копипаст с нее: Delphi. Готовые алгоритмы.
Английский оригинал: Ready-to-run Delphi Algorithms.
И наконец, в этом году появился перевод книжки Essential Algorithms: http://www.ozon.ru/context/detail/id/135297188/

По первой книге. Все проги, естественно, на Дельфи.
Сам не проверял, но есть Приложение 1 и приложение 2, где прописан полный список примеров, откуда их брать и как запускать.
В книге 13 глав
1. Основные понятия. Здесь минимальный ликбез про О(). Математики опять же — никакой, логарифмы только...
2. Списки. Сначала под списком понимается динамический массив (как набор элементов),
а потом вводится традиционный связанный список. Операции, естественно.
И много разновидностей связных списков. Например, многосвязный список, который обозван переводчиком "список с потоками"...
А также другие связанные структуры — маленький обзор с картинками.
3. Стеки и очереди. Вся классика. Циклические очереди хорошо расписаны.
Но тут и очереди с приоритетами — элементарное введение, без пирамиды, как упорядоченный список.
И опять же "многопоточные" очереди — очереди с несколькими головами и одним хвостом... Змей Горыныч натуральный...
4. Массивы. Тут разные нестандартные массивы: треугольные, разреженные, сильно разреженные.
5. Рекурсия. Тут классика: факториал, НОД, Фибоначчи, кривые Гильберта и Серпинского.
Но описаны способы устранения рекрсии — хвостовой и в общем случае.
6. Деревья. Вся классика.
Описаны деревья со ссылками (у кого-то встречал термин "прошитые" про такие деревья).
Интересные Q-деревья (quadtree) — описывают пространственные отношения между элементами в пределах какой-либо ограниченной области.
Это определение из книжки.
7. Сбалансированные деревья. Здесь АВЛ и В-деревья.
8. Деревья решений.
Это поиск в игровых деревьях: минимакс и его улучшение (на примере крестиков — ноликов 3х3)
Далее метод ветвей и границ, и эвристические методы полного перебора.
Здесь же сложные задачи: задача о выполнимости, о разбиении, коммивояжера...
9. Сортировки. Ну, тут практически вся классика. Пирамиды здесь тоже есть.
10. Поиск. Здесь, помимо простых, интерполяционный поиск, и следящий поиск.
11. Хеширование. Типовая классика.
12. Сетевые алгоритмы. Они же — алгоритмы на графах. Обходы, пути, остовное дерево, максимальный поток.
13. ООП. Здесь кое-какие паттерны объясняются: фасад, итератор, mvc, visitor (называется контролирующий объект — visitor object) и т.д.

Упражнений нет вообще.
Но в общем, книжка неплохая.

Essential Algorithms
Это уже полноценный учебник. Содержит 19 глав.
Алгоритмы приводятся на понятном англоязычном псевдокоде, похожем на Паскаль и на Бейсик одновременно...
Во всяком случае это — программный псевдокод, а не математический, как у Кормена.
Упражнения и ответы к ним (приложение Б — ~70 страниц).
Приложение 1 и Глоссарий содержат определения и разъяснения огромного количества терминов.
Содержание.
1.