Комбинаторные алгоритмы для программистов

         

Комбинаторные алгоритмы для программистов

Введение
Проблема представления: коды, сохраняющие разности
Классы алгоритмов
Анализ алгоритмов

Комбинаторные алгоритмы для программистов

Введение
Целые
Целые - 2
Последовательности
Различные способы представлений


Комбинаторные алгоритмы для программистов

Связанное распределение
Разновидности связанных списков
Стеки и очередь

Задачи
Программы

Комбинаторные алгоритмы для программистов

Деревья
Представления
Прохождения
Длина путей
Задача
Программa

Комбинаторные алгоритмы для программистов

Введение
Задачи

Разные статистики
Деревья и перестановки из n элементов
Число сочетаний
Задачи на разбиение чисел
Комбинаторные задачи теории информации

Комбинаторные алгоритмы для программистов

Множества и мультимножества
Формула включений и исключений

Решето Эратосфена
Примеры программы

Комбинаторные алгоритмы для программистов

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

Задача: "Затруднение мажордома"

Комбинаторные алгоритмы для программистов

Решение рекуррентных соотношений
Линейные рекуррентные соотношения с постоянными коэффициентами
Случай равных корней характеристического уравнения
Производящие функции

Комбинаторные алгоритмы для программистов

Введение
Деление многочленов
Алгебраические дроби и степенные ряды

Действия над степенными рядами

Комбинаторные алгоритмы для программистов

Применение степенных рядов для доказательства тождеств
Бином Ньютона
Ряд Ньютона
Производящие функции и рекуррентные соотношения
Об едином нелинейном рекуррентном соотношении

Комбинаторные алгоритмы для программистов

Введение
Стеки
Очереди

Связанные списки
Двоичные деревья

Комбинаторные алгоритмы для программистов

Введение
Представления
Связность и расстояние
Остовные деревья
Клики

Изоморфизм
Планарность

Комбинаторные алгоритмы для программистов

Введение
Поиск и другие операции над таблицами
Последовательный поиск
Логарифмический поиск в статических таблицах
Бинарный поиск

Оптимальные деревья бинарного поиска
Логарифмический поиск в динамических таблицах
Сбалансированные сильно ветвящиеся деревья

Комбинаторные алгоритмы для программистов

Введение
Внутренняя сортировка
Вставка
Обменная сортировка

Комбинаторные алгоритмы для программистов

Выбор

Распределяющая сортировка
Цифровая распределяющая сортировка
Внешняя сортировка
Частичная сортировка
Частичная сортировка (выбор)
Частичная сортировка (слияние)

Комбинаторные алгоритмы для программистов

Поиск в глубину
Алгоритм Дейкстры нахождения кратчайшего пути

Алгоритм Флойда нахождения кратчайших путей между парами вершин
Программы

Комбинаторные алгоритмы для программистов

Автоматическое построение лабиринтов
Бинарное дерево
Задача о восьми ферзях
Сортировки

Задача о назначениях (задачи выбора)
Ханойская башня

Программа