В учебнике изложены основные разделы дискретной математики и описаны важнейшие алгоритмы на дискретных структурах данных. Основу книги составляет материал лекционного курса, который автор читает в Санкт-Петербургском государственном техническом университете последние полтора десятилетия. Третье издание имеет ту же структуру и последовательность изложения, что и второе. В книгу внесено несколько десятков не очень объемных, но существенных добавлений, уточнений и определений. Обновлены упражнения, библиография и комментарии к ней. Для студентов вузов, практикующих программистов и всех желающих изучить дискретную математику. Допущено Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки дипломированных специалистов «Информатика и вычислительная техника».
Этот выпуск представляет собой продолжение главы о комбинаторных алгоритмах, которая будет включена в четвертый том Искусства программирования. Поскольку часть этого тома составит большая глава о комбинаторном поиске, то этот выпуск начинается с рассмотрения генерации всех возможных объектов. Особое внимание уделяется генерации всех n-кортежей, которые расширяют эти идеи для всех перестановок. Такие алгоритмы дают естественную мотивацию, с помощью которой вводятся и развиваются многие ключевые идеи комбинаторной математики.
В третьем издании второго тома представлено полное введение в теорию получисленных алгоритмов, причем случайным числам и арифметике посвящены отдельные главы. В книге даны основы теории получисленных алгоритмов, а также примеры этих алгоритмов. Тем самым установлено прочное связующее звено между компьютерным программированием и численным анализом.