В настоящей книге представлены некоторые разделы комбинаторики, причем особое внимание уделено конструктивному алгоритмическому подходу - рядом с обсуждаемыми комбинаторными проблемами, как правило, приводятся алгоритмы их решения вместе с анализом их вычислительной сложности. Эти алгоритмы представляют собой сжатые варианты программ, написанных на языке Паскаль. Первая, самая большая глава данной книги содержит изложение наиболее классических разделов комбинаторики (перестановки, разбиение множеств и чисел, биномиальные коэффициенты, производящие функции, и т.д.), а также многие - необязательно классические - алгоритмы генерирования упомянутых комбинаторных объектов. Во второй главе представлены основные методы, используемые при конструировании алгоритмов на графах, в особенности методы систематического обхода графов. Тематика, связанная с графами, затрагивается и в двух следующих главах: в одной из них обсуждаются метода нахождения кратчайших путей в графах, ребрам которых приписаны произвольные "длины", в другой - основное внимание сконцентрировано на задаче отыскания максимального потока в сети (т.е. в графе с определенными "пропускными способностями" ребер). В последней главе рассматривается применение комбинаторного понятия матроида для решения некоторого класса оптимизационных задач.

Книга

https://forumstatic.ru/files/000c/4b/84/76762.gif