Изменения

Перейти к: навигация, поиск

Алгоритмы и структуры данных

2770 байт убрано, 15:33, 25 мая 2019
Другие задачи
== Основные определения теории графов Амортизационный анализ ==* [[Основные определения теории графов|Основные определения: граф, ребро, вершина, степень, петля, путь, циклАмортизационный анализ]]* [[Лемма о рукопожатияхДинамический массив]]* [[Ориентированный графHashed Array Tree]]<tex>^\star</tex>* [[Лемма о рукопожатиях#Вариант леммы о рукопожатиях для ориентированного графа|Вариант леммы о рукопожатиях для ориентированного графаСписок]]* [[Теорема о существовании простого пути в случае существования путиСтек]]* [[Теорема о существовании простого цикла в случае существования циклаОчередь]]* [[Матрица смежности графаДек]]* [[Связь степени матрицы смежности и количества путейМажорирующий элемент]]* [[Матрица инцидентности графаСчетчик Кнута]]* [[Циклическое пространство графаМастер-теорема]]<tex>^\star</tex>* [[Фундаментальные циклы графа]]* [[Дерево, эквивалентные определенияList order maintenance]]<tex>^\star</tex>
== Персистентные структуры данных ==
* [[Персистентные структуры данных]]
* [[Персистентный стек]]
* [[Персистентная очередь]]
* [[Персистентный дек]]
* [[Персистентная приоритетная очередь]]
== Связность в графах ==* [[Отношение связности, компоненты связностиПриоритетные очереди]]==* [[Отношение реберной двусвязностиДвоичная куча]]* [[Отношение вершинной двусвязностиБиномиальная куча]]* [[Граф компонент реберной двусвязностиФибоначчиева куча]]* [[Граф блоков-точек сочлененияЛевосторонняя куча]]* [[Точка сочленения, эквивалентные определенияТонкая куча]]* [[Мост, эквивалентные определенияТолстая куча на избыточном счетчике]]* [[kКуча Бродала-связность]]* [[Теорема Менгера]]* [[Вершинная, реберная связность, связь между ними и минимальной степенью вершиныОкасаки]]<tex>^\star</tex>
== Система непересекающихся множеств ==
* [[СНМ (наивные реализации) | Наивные реализации]]
* [[СНМ (списки с весовой эвристикой) | Списки с весовой эвристикой]]
* [[СНМ(реализация с помощью леса корневых деревьев) | Реализация с помощью леса корневых деревьев]]
* [[СНМ с операцией удаления за О(1)]]<tex>^\star</tex>
== Остовные деревья [[Поисковые структуры данных]] ==* [[Матрица КирхгофаУпорядоченное множество]]* [[Дерево поиска, наивная реализация]]* [[АВЛ-дерево]]* [[2-3 дерево]]* [[B-дерево]]* [[B+-дерево]]* [[Красно-черное дерево]]* [[Декартово дерево]]* [[Декартово дерево по неявному ключу]]* [[Splay-дерево]]* [[Взвешенное дерево]]* [[Tango-дерево]]<tex>^\star</tex>* [[Рандомизированное бинарное дерево поиска]]* [[Связь матрицы Кирхгофа и матрицы инцидентностиДерево ван Эмде Боаса]]* [[Подсчет числа остовных деревьев Список с помощью матрицы Кирхгофапропусками]]* [[Fusion tree]]<tex>^\star</tex>* [[Сверхбыстрый цифровой бор]]* [[Rope]]<tex>^\star</tex>* [[AA-дерево]]<tex>^\star</tex>* [[Количество помеченных деревьевТехника частичного каскадирования]]<tex>^\star</tex>* [[Коды ПрюфераCentroid decomposition]]<tex>^\star</tex>
== Обходы графов Запросы на отрезках ==* [[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов]]* [[Покрытие ребер графа путями]]* [[Алгоритм построения Эйлерова цикла]]* [[Произвольно вычерчиваемые из заданной вершины графы]]* [[Гамильтоновы графы]]* [[Теорема Хватала]]* Следствия теоремы Хватала: ** [[Теорема Дирака]]** [[Теорема Оре]]* [[Турниры]]* [[Теорема Редеи-Камиона]]
== Укладки графов = Корневая эвристика ===* [[Укладка графа Статистики на плоскостиотрезках. Корневая эвристика]]* [[Формула Эйлера]]* [[Непланарность K5 и K3Корневая декомпозиция с операциями: get,3|Непланарность <tex>K_5</tex> и <tex>K_{3insert,3}</tex>]]* [[Укладка дерева]]* [[Укладка графа с планарными компонентами реберной двусвязности]]* [[Укладка графа с планарными компонентами вершинной двусвязности]]* [[Теорема Понтрягина-Куратовскогоerase]]* [[Двойственный граф планарного графаАлгоритм Мо]]
== Раскраски графов = Дерево отрезков ===* [[Раскраска графаДерево отрезков. Построение]]* [[Двудольные графы и раскраска Реализация запроса в 2 цветадереве отрезков сверху]]* [[Хроматический многочлен]]** [[Хроматический многочлен#Хроматический многочлен полного графа|Хроматический многочлен полного графа]]** [[Хроматический многочлен#Хроматический многочлен пустого графа|Хроматический многочлен пустого графа]]** [[Хроматический многочлен#Хроматический многочлен дерева|Хроматический многочлен дерева]]** [[Хроматический многочлен#Рекуррентные формулы для хроматических многочленов|Рекуррентные формулы для хроматических многочленовРеализация запроса в дереве отрезков снизу]]** [[Хроматический многочлен#Коэффициенты хроматического многочлена|Коэффициенты хроматического многочлена: старший, второй коэффициенты, знакопеременностьНесогласованные поддеревья. Реализация массового обновления]]* [[Формула ЗыковаМногомерное дерево отрезков]]* [[Формула УитниСжатое многомерное дерево отрезков]]
== Обход в глубину Дерево Фенвика ==* [[Обход в глубину, цвета вершинДерево Фенвика]]* [[Лемма о белых путяхВстречное дерево Фенвика]]* [[Использование обхода в глубину Дерево Фенвика для проверки связностинекоммутативных операций]]* [[Использование обхода в глубину для поиска цикла в ориентированном графе]]* [[Использование обхода в глубину для топологической сортировки]]* [[Использование обхода в глубину для поиска компонент сильной связности]]* [[Использование обхода в глубину для поиска точек сочленения]]* [[Построение компонент вершинной двусвязности]]* [[Использование обхода в глубину для поиска мостов]]* [[Построение компонент реберной двусвязностиМногомерное дерево Фенвика]]
== Кратчайшие пути в графах Задача о наименьшем общем предке ==* [[Обход в ширинуСведение задачи LCA к задаче RMQ]]* [[Сведение задачи RMQ к задаче LCA]]* [[Метод двоичного подъема]]* [[Решение RMQ с помощью разреженной таблицы]]* [[Двумерная разреженная таблица]]* [[Алгоритм ФордаФарака-БеллманаКолтона и Бендера]](решение +/-1 RMQ с помощью метода четырех русских)* [[Алгоритм ДейкстрыХьюи]]* [[Heavy-light декомпозиция]]* [[Алгоритм ФлойдаШибера-Вишкина]]<tex>^\star</tex>* [[Алгоритм ДжонсонаТарьяна поиска LCA за O(1) в оффлайн]]<tex>^\star</tex>* [[Link-Cut Tree]]<tex>^\star</tex>* [[Rake-Compress деревья]]<tex>^\star</tex>
== Остовные деревья Хеширование ==* [[Лемма о безопасном ребреХеш-таблица]]* [[Алгоритм ПримаРазрешение коллизий]]* [[Алгоритм КраскалаХеширование кукушки]]* [[Теорема Тарьяна|Теорема Тарьяна (критерий минимальности остовного дерева)Идеальное хеширование]]* [[Алгоритм двух китайцевПерехеширование]]* [[Фильтр Блума]]* [[Quotient filter]]<tex>^\star</tex>* [[Универсальное семейство хеш-функций]]* [[Расширяемое хеширование]]<tex>^\star</tex>
== Задача о паросочетании [[Сортировки]] ===== Квадратичные сортировки ===* [[Теорема о максимальном паросочетании и дополняющих цепяхСортировка выбором]]* [[Сортировка пузырьком]]* [[Сортировка вставками]]=== Сортировки на сравнениях ===* [[Алгоритм Форда-Фалкерсона для поиска максимального паросочетанияСортировка Шелла]]<tex>^\star</tex>* [[Алгоритм Куна для поиска максимального паросочетанияСортировка кучей]]* [[Связь максимального паросочетания и минимального вершинного покрытия в двудольных графахБыстрая сортировка]]* [[Связь вершинного покрытия и независимого множестваСортировка слиянием]]* [[Матрица Татта и связь Cортировка слиянием с размером максимального паросочетания в двудольном графеиспользованием O(1) дополнительной памяти]]* [[Терпеливая сортировка]]<tex>^\star</tex>* [[Timsort]]<tex>^\star</tex>* [[Smoothsort]]<tex>^\star</tex>* [[Алгоритм вырезания соцветий|Паросочетания в недвудольных графах. Алгоритм вырезания соцветийТеорема о нижней оценке для сортировки сравнениями]]
== Задача о максимальном потоке = Многопоточные сортировки ===* [[Определение сети, потокаМногопоточная сортировка слиянием]]<tex>^\star</tex>* [[Разрез, лемма о потоке через разрезPSRS-сортировка]]<tex>^\star</tex>* [[Дополняющая сеть, дополняющий путь]]=== Другие сортировки ===* [[Лемма о сложении потоковПоиск k-ой порядковой статистики]]* [[Теорема ФордаПоиск k-Фалкерсонаой порядковой статистики за линейное время]]* [[Алгоритм ФордаПоиск k-Фалкерсона, реализация с помощью поиска ой порядковой статистики в глубинудвух массивах]]<tex>^\star</tex>* [[Алоритм Эдмондса-КарпаСортировка подсчетом]]* [[Теорема о декомпозицииЦифровая сортировка]]* [[Теорема о декомпозиционном барьереКарманная сортировка]]* [[Блокирующий потокСортировка Хана]]<tex>^\star</tex>* [[Схема алгоритма Диница]]* [[Алгоритм поиска блокирующего потока в ациклической сети]]* [[Алгоритм масштабирования потокаЗадача флага Нидерландов]]<tex>^\star</tex>* [[Теоремы Карзанова о числе итераций алгоритма Диница в сети с целочисленными пропускными способностямиБлинная сортировка]]<tex>^\star</tex>
== Задача о потоке минимальной стоимости Сортирующие сети ==* [[Поток минимальной стоимостиСортирующие сети]]* [[Теорема Форда0-Фалкерсона о потоке минимальной стоимости1 принцип | Проверка сети компараторов на то, что она сортирующая. 0-1 принцип]]* [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной Сортирующие сетидля квадратичных сортировок]]* [[Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]]* [[Использование потенциалов Джонсона при поиске потока минимальной стоимости]]* [[Сведение задачи о назначениях к задаче о потоке минимальной стоимостиСортировочные сети с особыми свойствами]]<tex>^\star</tex>* [[Венгерский алгоритм решения задачи о назначенияхСеть Бетчера]]
== Поиск подстроки в строке Алгоритмы поиска ==* [[Наивный алгоритм поиска подстроки в строкеЦелочисленный двоичный поиск]]* [[Поиск подстроки в строке с использованием хеширования. Алгоритм Рабина-Карпаматрице]]<tex>^\star</tex>* [[Поиск наибольшей общей подстроки двух строк с использованием хешированияВещественный двоичный поиск]]* [[Префикс-функцияТроичный поиск]]* [[Алгоритм Кнута-Морриса-Пратта]]* [[Z-функция]]* [[Автомат для поиска образца в текстеПоиск с помощью золотого сечения]]* [[БорИнтерполяционный поиск]]* [[Алгоритм Ахо-КорасикМетод Фибоначчи]]<tex>^\star</tex>
== Словарные структуры данных [[Динамическое программирование]] ===== Классические задачи динамического программирования ===*[[Кратчайший путь в ациклическом графе]]*[[Задача о числе путей в ациклическом графе]]*[[Задача о расстановке знаков в выражении]]*[[Задача о порядке перемножения матриц]]*[[Задача о наибольшей общей подпоследовательности]]*[[Задача о наибольшей возрастающей подпоследовательности]]*[[Быстрый поиск наибольшей возрастающей подпоследовательности]]** [[Суффиксный борЗадача коммивояжера, ДП по подмножествам]]* [[Сжатое суффиксное деревоЗадача о редакционном расстоянии, алгоритм Вагнера-Фишера]]* [[Алгоритм УкконенаЗадача о рюкзаке]]
== Задача о наименьшем общем предке = Способы оптимизации методов динамического программирования ===* [[Метод двоичного подъемачетырех русских для умножения матриц]]* [[Сведение Применение метода четырех русских в задачах ДП на примере задачи LCA к задаче RMQо НОП]]<tex>^\star</tex>* [[Решение RMQ Задача об оптимальном префиксном коде с помощью разреженной таблицысохранением порядка. Монотонность точки разреза]]*[[Meet-in-the-middle]]<tex>^\star</tex>*[[Convex hull trick]] === Другие задачи ===* [[Алгоритм ФаракаЗадача о расстоянии Дамерау-Колтона и БендераЛевенштейна]] (решение +<tex>^\star</tex>*[[Задача о выводе в контекстно-1 RMQ с помощью метода четверых русских)свободной грамматике, алгоритм Кока-Янгера-Касами]]*[[Задача о наибольшей подпоследовательности-палиндроме]]*[[Задача о наибольшей общей возрастающей последовательности]]<tex>^\star</tex>*[[Задача о наибольшей общей палиндромной подпоследовательности]]<tex>^\star</tex>*[[Динамическое программирование по профилю]]<tex>^\star</tex>*[[Динамика по поддеревьям]]* [[Сведение задачи RMQ к задаче LCALevel Ancestor problem]]
== Суффиксный массив Криптографические алгоритмы ==* [[Суффиксный массив]]* [[Построение суффиксного массива с помощью стандартных методов сортировки]]* [[Алгоритм цифровой сортировки]]* [[Алгоритм цифровой сортировки суффиксов циклической строки]]* [[Алгоритм Касаи и др.]]* [[Алгоритм поиска подстроки в строке с помощью суффиксного массиваRSA]]
== Матроиды Связь между структурами данных ==* [[Определение матроида]]* [[Примеры матроидов]]* [[Прямая сумма матроидов]]* [[Теорема Радо-Эдмондса (жадный алгоритм)]]* [[Жадный алгоритм поиска базы минимального веса]]* [[Теорема о базах]]* [[Аксиоматизация матроида базами]]* [[Теорема о циклах]]* [[Аксиоматизация матроида циклами]]* [[Ранговая функция, полумодулярность]]* [[Двойственный матроид]]* [[Оператор замыкания для матроидов]]* [[Пересечение матроидов, определение, примеры]]* [[Теорема Эдмондса - Лоулера, формулировка, док-во в простую сторону]]* [[Лемма о паросочетании в графе замен]]* [[Лемма о единственном паросочетании в графе замен]]* [[Граф замен для двух матроидовСвязь между структурами данных]]
[[Категория: Алгоритмы и структуры данных]]
Анонимный участник

Навигация