Сообщение Re: Книги Никлауса Вирта от 10.04.2016 10:34
Изменено 03.05.2016 6:41 LaptevVV
Буду заполнять
Re: Книги Никлауса Вирта
У Никлауса Вирта по структурам данных выходила практически одна и та же книга — на разных языках программирования.
Сначала была "Алгоритмы+структуры данных = программы".
Была переведена в издательстве Мир еще аж в 1985 году.
Отличается от прочих наличием хорошей главы по компиляторам.
Программы, естественно, на Паскале.
Вторая книга: Алгоритмы и структуры данных.
Была переведена в издательстве Мир в 1989 году.
Отличается от предыдущей:
— отсутствие главы по компиляторам (вынесено в отдельную книгу Проектирование компиляторов)
— наличие главы по поиску в строках
Программы, естественно, на Модуле-2.
Потом наши самолично переиздали эту же книжку уже в 2001 году
и еще потом переиздвали: http://forcoder.ru/algorithm/algoritmy-i-struktury-dannyh-44
И наконец, в 2010 году была переведена последняя версия этой книги: http://www.ozon.ru/context/detail/id/6146670/
Хотя книжка имеет подзаголовок "Новая версия для Оберона",
программы написаны на Компонентном Паскале в среде BlackBox Component Builder.
Книжка — небольшая, вместе с предметным указателем — 272 страницы.
Есть упражнения, но ответов нет.
Глав всего 5
1. Фундаментальные структуры данных.
Здесь, помимо введение структуры данных Компонентного паскаля, параграф про поиск в массивах (простой, с барьером, двоичный)
и поиск подстроки в строке (простой, Кнута-Морриса-Пратта, Бойера-Мура — с картинками)
2. Сортировка — классика.
Сначала выбор-вставка-пузырек. Потом Шелла, пирамидальная (названная турнирной), быстрая (здесь же — медиана).
Потом довольно много про всякие сортировки слиянием.
3. Рекурсивные алгоритмы.
Здесь кривые Гильберта и Серпинского, алгоритмы с возвратом (задача о 8 ферзях, о стабильных браках и задача оптимального выбора)
4. Динамические структуры данных.
Здесь сначала: рекурсивные структуры данных, указатели.
Потом классика: списки, деревья, балансированные деревья (АВЛ), деревья оптимального поиска,
В-деревья, приоритетные деревья поиска (МакКрейт)
5. Хеширование. Классический минимум.
Что хочется отметить.
0. Помимо собственно алгоритмов и структур данных Вирт объясняет и использует для разработки алгоритмов метод пошагового уточнения.
Особенно это наглядно продемонстрировано в главе о рекурсивных алгоритмах.
В результате программы получаются очень прозрачные и понятные.
1. Перевод выполнен очень тщательно.
Переводил человек, кровно заинтересованный в качестве, ибо сам преподает программирование для физиков МГУ конкретно по этой книжке.
2. В процессе перевода были реализованы ВСЕ примеры, найдены неточности и ошибки.
Исправления были согласованы с самим Виртом, и внесены в английский оригинал.
3. К книжке прилагается сидюк со средой BlackBox Component Builder и кучей руссифицированной документации.
Все примеры в среде открываются и работают — можно посмотреть непосредственно.
4. Переводчик написал замечательное предисловие и послесловие.
В частности, описал цикл Дейкстры (кто тут упоминал книжку Дисциплина программирования ?)
Рекомендую как начальную книжку по теме.
Сначала была "Алгоритмы+структуры данных = программы".
Была переведена в издательстве Мир еще аж в 1985 году.
Отличается от прочих наличием хорошей главы по компиляторам.
Программы, естественно, на Паскале.
Вторая книга: Алгоритмы и структуры данных.
Была переведена в издательстве Мир в 1989 году.
Отличается от предыдущей:
— отсутствие главы по компиляторам (вынесено в отдельную книгу Проектирование компиляторов)
— наличие главы по поиску в строках
Программы, естественно, на Модуле-2.
Потом наши самолично переиздали эту же книжку уже в 2001 году
и еще потом переиздвали: http://forcoder.ru/algorithm/algoritmy-i-struktury-dannyh-44
И наконец, в 2010 году была переведена последняя версия этой книги: http://www.ozon.ru/context/detail/id/6146670/
Хотя книжка имеет подзаголовок "Новая версия для Оберона",
программы написаны на Компонентном Паскале в среде BlackBox Component Builder.
Книжка — небольшая, вместе с предметным указателем — 272 страницы.
Есть упражнения, но ответов нет.
Глав всего 5
1. Фундаментальные структуры данных.
Здесь, помимо введение структуры данных Компонентного паскаля, параграф про поиск в массивах (простой, с барьером, двоичный)
и поиск подстроки в строке (простой, Кнута-Морриса-Пратта, Бойера-Мура — с картинками)
2. Сортировка — классика.
Сначала выбор-вставка-пузырек. Потом Шелла, пирамидальная (названная турнирной), быстрая (здесь же — медиана).
Потом довольно много про всякие сортировки слиянием.
3. Рекурсивные алгоритмы.
Здесь кривые Гильберта и Серпинского, алгоритмы с возвратом (задача о 8 ферзях, о стабильных браках и задача оптимального выбора)
4. Динамические структуры данных.
Здесь сначала: рекурсивные структуры данных, указатели.
Потом классика: списки, деревья, балансированные деревья (АВЛ), деревья оптимального поиска,
В-деревья, приоритетные деревья поиска (МакКрейт)
5. Хеширование. Классический минимум.
Что хочется отметить.
0. Помимо собственно алгоритмов и структур данных Вирт объясняет и использует для разработки алгоритмов метод пошагового уточнения.
Особенно это наглядно продемонстрировано в главе о рекурсивных алгоритмах.
В результате программы получаются очень прозрачные и понятные.
1. Перевод выполнен очень тщательно.
Переводил человек, кровно заинтересованный в качестве, ибо сам преподает программирование для физиков МГУ конкретно по этой книжке.
2. В процессе перевода были реализованы ВСЕ примеры, найдены неточности и ошибки.
Исправления были согласованы с самим Виртом, и внесены в английский оригинал.
3. К книжке прилагается сидюк со средой BlackBox Component Builder и кучей руссифицированной документации.
Все примеры в среде открываются и работают — можно посмотреть непосредственно.
4. Переводчик написал замечательное предисловие и послесловие.
В частности, описал цикл Дейкстры (кто тут упоминал книжку Дисциплина программирования ?)
Рекомендую как начальную книжку по теме.