Этот выпуск представляет собой продолжение главы о комбинаторных алгоритмах, которая будет включена в четвертый том Искусства программирования. Поскольку часть этого тома составит большая глава о комбинаторном поиске, то этот выпуск начинается с рассмотрения генерации всех возможных объектов. Особое внимание уделяется генерации всех n-кортежей, которые расширяют эти идеи для всех перестановок. Такие алгоритмы дают естественную мотивацию, с помощью которой вводятся и развиваются многие ключевые идеи комбинаторной математики. Кнут в этом и других выпусках тома 4 иллюстрирует важные теории, рассматривая связанные с ними игры и головоломки. Даже самое серьезное программирование может быть увлекательным.
СОДЕРЖАНИЕ
Глава 7. Комбинаторный поиск 11
7.2. Генерация всех возможных объектов 12
7.2.1. Генерация основных комбинаторных объектов 12
7.2.1.1. Генерация всех n-кортежей 12
7.2.1.2. Генерация всех перестановок 53
Ответы к упражнениям 91
Предметно-именной указатель 140
Эта книга, автором которой является опытный преподаватель информатики, представляет собой один из лучших учебников, посвященных алгоритмам. Делая основной упор на понимание идей, а не на механическое рассмотрение работы того или иного алгоритма, автор излагает ключевые принципы и методы разработки алгоритмов так, что они могут быть применены как универсальный инструментарий для широкого диапазона задач, а не только для разработки алгоритмов. Несмотря на отсутствие громоздких математических доказательств, в книге выдержана достаточная математическая строгость.
В учебнике Дискретная математика: Учебник для вузов. Стандарт третьего поколения. Новиков изложены все основные разделы дискретной математики и описаны важнейшие алгоритмы на дискретных структурах данных. Основу книги составляет материал лекционного курса, который автор читает в Санкт-Петербургском государственном политехническом университете последние двадцать пять лет.