Книга: Окулов С. М. «Программирование в алгоритмах»
Серия: "Развитие интеллекта школьников" Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных алгоритмов. Освещены такие вопросы, как комбинаторные алгоритмы, перебор, алгоритмы на графах, алгоритмы вычислительной геометрии. Приводятся избранные олимпиадные задачи по программированию с указаниями к решению. Практические рекомендации по тестированию программ являются необходимым дополнением курса. Содержание:Предисловие...... 6 1. Арифметика многоразрядных целых чисел...... 8 1. 1. Основные арифметические операции...... 8 1. 2. Задачи...... 22 2. Комбинаторные алгоритмы...... 27 2. 1. Классические задачи комбинаторики...... 27 2. 2. Генерация комбинаторных объектов...... 34 2. 2. 1. Перестановки...... 34 2. 2. 2. Размещения...... 44 2. 2. 3. Сочетания...... 50 2. 2. 4. Разбиение числа на слагаемые...... 58 2. 2. 5. Последовательности из нулей и единиц длины N без двух единиц подряд...... 64 2. 2. 6. Подмножества...... 67 2. 2. 7. Скобочные последовательности...... 71 2. 3. Задачи...... 76 3. Перебор и методы его сокращения...... 87 3. 1. Перебор с возвратом (общая схема)...... 87 3. 2. Примеры задач для разбора общей схемы перебора...... 89 3. 3. Динамическое программирование...... 106 3. 4. Примеры задач для разбора идеи метода динамического программирования...... 108 3. 5. Метод ветвей и границ...... 116 3. 6. Метод «решета»...... 121 3. 7. Задачи...... 126 4. Алгоритмы на графах...... 158 4. 1. Представление графа в памяти компьютера...... 158 4. 2. Поиск в графе...... 159 4. 2. 1. Поиск в глубину...... 159 4. 2. 2. Поиск в ширину...... 161 4. 3. Деревья...... 162 4. 3. 1. Основные понятия. Стягивающие деревья...... 162 4. 3. 2. Порождение всех каркасов графа...... 163 4. 3. 3. Каркас минимального веса. Метод Дж. Краскала...... 165 4. 3. 4. Каркас минимального веса. Метод Р. Прима...... 168 4. 4. Связность...... 170 4. 4. 1. Достижимость...... 170 4. 4. 2. Определение связности...... 172 4. 4. 3. Двусвязность...... 173 4. 5. Циклы...... 176 4. 5. 1. Эйлеровы циклы...... 176 4. 5. 2. Гамильтоновы циклы...... 177 4. 5. 3. Фундаментальное множество циклов...... 179 4. 6. Кратчайшие пути...... 180 4. 6. 1. Постановка задачи. Вывод пути...... 180 4. 6. 2. Алгоритм Дейкстры...... 182 4. 6. 3. Пути в бесконтурном графе...... 183 4. 6. 4. Кратчайшие пути между всеми парами вершин. Алгоритм Флойда...... 186 4. 7. Независимые и доминирующие множества...... 188 4. 7. 1. Независимые множества...... 188 4. 7. 2. Метод генерации всех максимальных независимых множеств графа...... 189 4. 7. 3. Доминирующие множества...... 194 4. 7. 4. Задача о наименьшем покрытии...... 195 4. 7. 5. Метод решения задачи о наименьшем разбиении...... 196 4. 8. Раскраски...... 202 4. 8. 1. Правильные раскраски...... 202 4. 8. 2. Поиск минимальной раскраски вершин графа...... 203 4. 8. 3. Использование задачи о наименьшем покрытии при раскраске вершин графа...... 207 4. 9. Потоки в сетях, паросочетания...... 208 4. 9. 1. Постановка задачи...... 208 4. 9. 2. Метод построения максимального потока в сети...... 210 4. 9. 3. Наибольшее паросочетание в двудольном графе...... 215 4. 10. Методы приближенного решения задачи коммивояжера...... 219 4. 10. 1. Метод локальной оптимизации...... 219 4. 10. 2. Алгоритм Эйлера...... 222 4. 10. 3. Алгоритм Кристофидеса...... 225 4. 11. Задачи...... 227 5. Алгоритмы вычислительной геометрии...... 249 5. 1. Базовые процедуры...... 249 5. 2. Прямая линия и отрезок прямой...... 255 5. 3. Треугольник...... 262 5. 4. Многоугольник...... 266 5. 5. Выпуклая оболочка...... 272 5. 6. Задачи о прямоугольниках...... 284 5. 7. Задачи...... 293 6. Избранные олимпиадные задачи по программированию...... 300 7. Заметки о тестировании программ...... 358 7. 1. О программировании...... 359 7. 2. Практические рекомендации...... 360 7. 3. Тестирование программы решения задачи (на примере)...... 370 Библиографический указатель...... 382 Издательство: "БИНОМ. Лаборатория знаний" (2017)
ISBN: 9785001014492 |
Другие книги схожей тематики:
Автор | Книга | Описание | Год | Цена | Тип книги |
---|---|---|---|---|---|
С. М. Окулов | Программирование в алгоритмах | Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных… — Бином. Лаборатория знаний, (формат: 60x90/16, 384 стр.) Развитие интеллекта школьников Подробнее... | 2013 | 231 | бумажная книга |
Окулов Станислав Михайлович | Программирование в алгоритмах | Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных… — Бином. Лаборатория знаний, (формат: 60x90/16, 384 стр.) Развитие интеллекта школьников Подробнее... | 2013 | 584 | бумажная книга |
С. М. Окулов | Программирование в алгоритмах | — Лаборатория знаний, Развитие интеллекта школьников электронная книга Подробнее... | 2017 | 275 | электронная книга |
Валерий Фаронов | Turbo Pascal | Книга написана самым известным и авторитетным в нашей стране автором по тематикам Pascal и Delphi, является… — Питер, Учебное пособие (Питер) электронная книга Подробнее... | 2015 | 526 | электронная книга |
Фаронов Валерий Васильевич | Turbo Pascal. Учебное пособие | Книга написана самым известным и авторитетным в нашей стране автором по тематикам Pascal и Delphi, является… — Питер, Учебное пособие Подробнее... | 2018 | 1235 | бумажная книга |
Фаронов В. | Turbo Pascal Учебное пособие | Книга написана самым известным и авторитетным в нашей стране автором по тематикам Pascal и Delphi. Она является… — (формат: Мягкая глянцевая, 368 стр.) Подробнее... | 2018 | 899 | бумажная книга |
Фаронов Валерий Васильевич | Turbo Pascal. Учебное пособие | Книга написана самым известным и авторитетным в нашей стране автором по тематикам Pascal и Delphi, является… — ПИТЕР, (формат: 165x235, 368 стр.) Учебное пособие Подробнее... | 2018 | 1439 | бумажная книга |
См. также в других словарях:
Олимпиадное программирование — Олимпиада по программированию интеллектуальное соревнование по решению различных задач на ЭВМ, для решения которых необходимо придумать и применить какой либо программу и/или алгоритм на одном из языков программирования. Олимпиады по… … Википедия
Блокировка (программирование) — У этого термина существуют и другие значения, см. Блокировка. В информатике, блокировка это механизм синхронизации позволяющий обеспечить исключительный доступ к разделяемому ресурсу между несколькими потоками. Блокировки один из способов… … Википедия
МШП — Мытищинская Школа программистов (МШП) некоммерческая образовательная организация, созданная в 2001 году. Руководителем Школы программистов является Шедов Сергей Валерьевич педагогический стаж 11 лет, учитель высшей… … Википедия
Мытищинская школа программистов — (МШП) некоммерческая образовательная организация, созданная в 2001 году. Руководителем Школы программистов является Шедов Сергей Валерьевич педагогический стаж 11 лет, учитель высшей квалификационной категории, председатель… … Википедия
Задача о ранце — Пример задачи о ранце: необходимо разместить ящики в рюкзак при условии на вместимость рюкзака 15 кг, так чтобы суммарная полезность предметов в рюкзаке была максимальной. Задача о ранце (рюкзаке) (англ. … Википедия
Задача о ранце в криптографии — (англ. Knapsack problem) это задача, на основе которой американские криптографы Ральф Меркл (англ.) и Мартин Хеллман разработали первый алгоритм шифрования с открытым ключом. Он носит название криптосистема Меркла Хеллмана. Для… … Википедия