В данной книге систематизирован материал по одному из методов проектирования алгоритмов в информатике - динамическому программированию. Предлагаемые задачи решаются фактически по одной схеме, основанной на данном методе, однако понять, что задача решается этим методом, очень непросто. Для этого кроме знаний требуется усилие подготовленного к решению таких задач интеллекта. Именно этому способствуют содержание книги и стиль изложения материала в ней.
Разобраны задачи, предлагавшиеся школьникам на всероссийских олимпиадах по информатике разных лет, а также на турнирах и конкурсах.
Для учащихся старших классов, студентов и преподавателей информатики.
Author(s): Окулов С. М., Пестов О. А.
Series: Развитие интеллекта школьников
Edition: 1
Publisher: БИНОМ. Лаборатория знаний
Year: 2012
Language: Russian
Commentary: Scanned pages
Pages: 296
City: М.
Tags: Algorithms; Programming; Dynamic Programming
Вместо предисловия
Введение
Глава 1. Простые задачи
1.1. Числа Фибоначчи
1.2. Биномиальные коэффициенты, или Нахождение числа сочетаний
1.3. Наибольший квадрат
1.4. Задача о Черепашке
Глава 2. Основной принцип и метод реализации на основе рекуррентных соотношений
2.1. Вводные замечания
2.2. Множество решаемых задач, вычисляемая функция и рекуррентные соотношения
2.3. Граф зависимостей задач
2.4. Общая схема
2.5. Пример решения задачи
Глава 3. Типы задач по динамическому программированию
3.1. Табличный метод решения
3.2. Задачи на отрезках
3.3. Задачи на деревьях
3.4. Задачи на подмножествах
3.5. Динамическое программирование по профилю
Приложение I. Динамическое программирование как метод решения задач оптимизации
Введение
1. Метод динамического программирования: основные положения
2. Примеры задач
2.1. Задача о распределении ресурсов
2.2. Задача о рюкзаке
2.3. Задачи о критических путях в графе
Приложение II. Справочные данные о задачах динамического программирования