М.: Издательский дом "Вильямс", 2006. - 576 с. - ISBN:
5-8459-0987-2
Эта книга, автором которой является преподаватель информатики, представляет собой один из лучших учебников, посвященных алгоритмам. Делая основной упор на понимание идей, а не на механическое рассмотрение работы того или иного алгоритма, автор излагает принципы разработки алгоритмов так, что они могут быть применены как универсальный инструментарий для широкого диапазона задач, а не только для разработки алгоритмов.
Книга ориентирована в первую очередь на студентов и аспирантов соответствующих специальностей, поэтому для преподавателей она может стать хорошим пособием для подготовки к лекциям и источником интересных нетривиальных задач. Книга может оказаться полезной и профессионалам в области разработки алгоритмов благодаря использованному автором новому подходу к классификации методов проектирования. Описание алгоритмов на естественном языке дополняется псевдокодом, который позволяет каждому, кто имеет хотя бы начальные знания и опыт программирования, реализовать алгоритм на используемом им языке программирования.
Оглавление:
Предисловие
Введение
Основы анализа эффективности алгоритмов
Метод грубой силы
Метод декомпозиции
Метод уменьшения размера задачи
Метод преобразования
Пространственно-временной компромисс
Динамическое программирование
Жадные методы
Ограничения мощи алгоритмов
Преодоление ограничений
Эпилог
Приложение А - Формулы, использующиеся при анализе алгоритмов
Приложение Б - Краткое руководство по рекуррентным соотношениям
Список литературы
Указания к упражнениям
Предметный указатель
Эта книга, автором которой является преподаватель информатики, представляет собой один из лучших учебников, посвященных алгоритмам. Делая основной упор на понимание идей, а не на механическое рассмотрение работы того или иного алгоритма, автор излагает принципы разработки алгоритмов так, что они могут быть применены как универсальный инструментарий для широкого диапазона задач, а не только для разработки алгоритмов.
Книга ориентирована в первую очередь на студентов и аспирантов соответствующих специальностей, поэтому для преподавателей она может стать хорошим пособием для подготовки к лекциям и источником интересных нетривиальных задач. Книга может оказаться полезной и профессионалам в области разработки алгоритмов благодаря использованному автором новому подходу к классификации методов проектирования. Описание алгоритмов на естественном языке дополняется псевдокодом, который позволяет каждому, кто имеет хотя бы начальные знания и опыт программирования, реализовать алгоритм на используемом им языке программирования.
Оглавление:
Предисловие
Введение
Основы анализа эффективности алгоритмов
Метод грубой силы
Метод декомпозиции
Метод уменьшения размера задачи
Метод преобразования
Пространственно-временной компромисс
Динамическое программирование
Жадные методы
Ограничения мощи алгоритмов
Преодоление ограничений
Эпилог
Приложение А - Формулы, использующиеся при анализе алгоритмов
Приложение Б - Краткое руководство по рекуррентным соотношениям
Список литературы
Указания к упражнениям
Предметный указатель