Программирование в алгоритмах

Окулов С.М.

Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных алгоритмов. Освещены такие вопросы, как комбинаторные алгоритмы, перебор, алгоритмы на графах, алгоритмы вычислительной геометрии. Приводятся избранные олимпиадные задачи по программированию с указаниями к решению. Практические рекомендации по тестированию программ являются необходимым дополнением курса.

Предназначен для школьников, студентов и специалистов, серьезно изучающих программирование, а также для преподавателей учебных заведений.

Издательство: Бином. Лаборатория знаний, 2007 г.

ISBN 978-5-94774-689-1

Количество страниц: 384.

Содержание книги «Программирование в алгоритмах»:

  • 7 Предисловие
  • 9 1. Арифметика многоразрядных целых чисел
    • 9 1.1. Основные арифметические операции
    • 21 1.2. Задачи
  • 25 2. Комбинаторные алгоритмы
    • 25 2.1. Классические задачи комбинаторики
    • 31 2.2. Генерация комбинаторных объектов
      • 31 2.2.1. Перестановки
      • 40 2.2.2. Размещения
      • 46 2.2.3. Сочетания
      • 53 2.2.4. Разбиение числа на слагаемые
      • 58 2.2.5. Последовательности из нулей и единиц длины N без двух единиц подряд
      • 61 2.2.6. Подмножества
      • 65 2.2.7. Скобочные последовательности
    • 68 2.3. Задачи
  • 79 3. Перебор и методы его сокращения
    • 79 3.1. Перебор с возвратом (общая схема)
    • 81 3.2. Примеры задач для разбора общей схемы перебора
    • 96 3.3. Динамическое программирование
    • 98 3.4. Примеры задач для разбора идеи метода динамического программирования
    • 105 3.5. Метод ветвей и границ
    • 109 3.6. Метод «решета»
    • 113 3.7. Задачи
  • 141 4. Алгоритмы на графах
    • 141 4.1. Представление графа в памяти компьютера
    • 142 4.2. Поиск в графе
      • 142 4.2.1. Поиск в глубину
      • 143 4.2.2. Поиск в ширину
    • 144 4.3. Деревья
      • 144 4.3.1. Основные понятия. Стягивающие деревья
      • 145 4.3.2. Порождение всех каркасов графа
      • 148 4.3.3. Каркас минимального веса. Метод Дж. Краскала
      • 150 4.3.4. Каркас минимального веса. Метод Р. Прима
    • 151 4.4. Связность
      • 151 4.4.1. Достижимость
      • 153 4.4.2. Определение связности
      • 154 4.4.3. Двусвязность
    • 157 4.5. Циклы
      • 157 4.5.1. Эйлеровы циклы
      • 158 4.5.2. Гамильтоновы циклы
      • 160 4.5.3. Фундаментальное множество циклов
    • 161 4.6. Кратчайшие пути
      • 163 4.6.2. Алгоритм Дейкстры
      • 164 4.6.3. Пути в бесконтурном графе
      • 166 4.6.4. Кратчайшие пути между всеми парами вершин. Алгоритм Флойда
    • 168 4.7. Независимые и доминирующие множества
      • 168 4.7.1. Независимые множества
      • 169 4.7.2. Метод генерации всех максимальных независимых множеств графа
      • 173 4.7.3. Доминирующие множества
      • 174 4.7.4. Задача о наименьшем покрытии
      • 175 4.7.5. Метод решения задачи о наименьшем разбиении
    • 180 4.8. Раскраски
      • 180 4.8.1. Правильные раскраски
      • 181 4.8.2. Поиск минимальной раскраски вершин графа
      • 185 4.8.3. Использование задачи о наименьшем покрытии при раскраске вершин графа
    • 186 4.9. Потоки в сетях, паросочетания
      • 186 4.9.1. Постановка задачи
      • 187 4.9.2. Метод построения максимального потока в сети
      • 192 4.9.3. Наибольшее паросочетание в двудольном графе
    • 195 4.10. Методы приближенного решения задачи коммивояжера
      • 195 4.10.1. Метод локальной оптимизации
      • 197 4.10.2. Алгоритм Эйлера
      • 200 4.10.3. Алгоритм Кристофидеса
    • 202 4.11. Задачи
  • 222 5. Алгоритмы вычислительной геометрии
    • 222 5.1. Базовые процедуры
    • 227 5.2. Прямая линия и отрезок прямой
    • 232 5.3. Треугольник
    • 236 5.4. Многоугольник
    • 241 5.5. Выпуклая оболочка
    • 251 5.6. Задачи о прямоугольниках
    • 259 5.7. Задачи
  • 266 6. Избранные олимпиадные задачи по программированию
  • 318 7. Заметки о тестировании программ
    • 319 7.1. О программировании
    • 320 7.2. Практические рекомендации
    • 328 7.3. Тестирование программы решения задачи (на примере)
  • 340 Библиографический указатель

Инструкция как скачать книгу Окулов С.М.: Программирование в алгоритмах в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Программирование в алгоритмах
Рейтинг книги:
4 голоса
247

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: