Жемчужины проектирования алгоритмов. Функциональный подход — В этой книге Ричард Берд представляет принципиально новый подход к проектированию алгоритмов, а именно проектирование посредством формального вывода. Основное содержание книги разделено на 30 коротких глав, называемых жемчужинами, в каждой из которых решается конкретная программистская задача. Эти задачи, некоторые из них абсолютно новые, происходят из таких разнообразных источников, как игры и головоломки, захватывающие комбинаторные построения и более традиционные алгоритмы сжатия данных и сопоставления строк. Каждая жемчужина начинается с постановки задачи, формулируемой на функциональном языке программирования Haskell, чрезвычайно мощном и в то же время лаконичном, позволяющем легко и просто выражать алгоритмические идеи. Новшество книги состоит в том, что каждое решение формально вычисляется из исходной постановки задачи посредством обращения к законам функционального программирования. Издание предназначено для программистов, увлекающихся функциональным программированием, студентов, аспирантов и преподавателей, интересующихся принципами проектирования алгоритмов, а также всех, кто желает приобрести и развить навыки рассуждений в эквациональном стиле применительно к программам и алгоритмам.
Название: Жемчужины проектирования алгоритмов. Функциональный подход Автор: Ричард Берд Издательство: ДМК Пресс Год: 2013 Страниц: 330 Формат: PDF, DJVU Размер: 12,81 МБ ISBN: 978-5-94074-867-0, 978-0-521-51338-8 Качество: отличное
Содержание:
Предисловие 1 Наименьшее отсутствующее число 2 Превосходная задача 3 Улучшаем седловой поиск 4 Задача о выборке 5 Сортировка попарных сумм 6 Делаем сотню 7 Строим дерево минимальной высоты 8 Распутываем жадные алгоритмы 9 Поиск знаменитостей 10 Удаляем повторы 11 Вовсе не максимальная сумма сегмента 12 Ранжируем суффиксы 13 Преобразование Барроуза-Уилера 14 Последний хвост 15 Все общие префиксы 16 Алгоритм Бойера-Мура 17 Алгоритм Кнута-Морриса-Пратта 18 Планирование в «Час пик» 19 Простой алгоритм решения судоку 20 Задача «Обратного отсчёта» 21 Хиломорфизмы и нексусы 22 Три способа вычисления определителей 23 Внутри выпуклой оболочки 24 Рациональное арифметическое кодирование 25 Целочисленное арифметическое кодирование 26 Алгоритм Шора-Вейта 27 Упорядоченная вставка 28 Бесцикловые функциональные алгоритмы 29 Алгоритм Джонсона-Троттера 30 Прядение паутины для чайников Предметный указатель
|