Список комбинаторных алгоритмов

Общие комбинаторные алгоритмыПравить

Алгоритмы на графахПравить

Алгоритмы поискаПравить

  • шаблон не поддерживает такой синтаксис — модификация алгоритма линейного поиска; находит k-тый по величине элемент в списке;
  • шаблон не поддерживает такой синтаксис — использует бинарное дерево для хранения элементов;
  • Двоичный поиск — находит элемент в отсортированном списке
  • Интерполирующий поиск (Предсказывающий поиск, Поиск по словарю)
  • Линейный поиск — находит элемент в неотсортированном списке
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • Поиск в глубину — проходит граф ветка за веткой
  • Поиск в ширину — проходит граф уровень за уровнем
  • шаблон не поддерживает такой синтаксис (англ. Best-first search)— проходит граф в порядке важности, используя очередь приоритетов
  • шаблон не поддерживает такой синтаксис— особый случай поиска по первому наилучшему совпадению; используется эвристика, увеличивающая скорость работы алгоритма
  • шаблон не поддерживает такой синтаксис— находит элемент в отсортированном списке
  • Поиск в хеш-таблице

Алгоритмы на строкахПравить

Алгоритмы поиска строкиПравить

Примерное соответствиеПравить

Деревья для строковых последовательностейПравить

Алгоритмы сортировкиПравить

  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис (также известен как корзинная сортировка)
  • Быстрая сортировка — с разбиением исходного набора данных на две половины так, что любой элемент первой половины упорядочен относительно любого элемента второй половины; затем алгоритм применяется рекурсивно к каждой половине
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • Пирамидальная сортировка (Сортировка кучей) — превращаем список в кучу, берём наибольший элемент и добавляем его в конец списка
  • шаблон не поддерживает такой синтаксис
  • Поразрядная сортировка — сортирует строки буква за буквой
  • Сортировка Бентли-Седжвика (англ. BeSe sort) — модификация быстрой сортировки для составных ключей, заключающаяся в делении не пополам, а на три части — в третью попадают одинаковые (по текущему символу) ключи
  • Сортировка бинарным деревом
  • Сортировка методом вставок — определяем, где текущий элемент должен находится в отсортированном списке, и вставляем его туда
  • Сортировка методом выбора — наименьшего или наибольшего элемента и помещения его в начало или конец отсортированного списка
  • Сортировка методом Шелла— попытка улучшить сортировку вставками
  • Сортировка перемешиванием (Сортировка коктейлем)
  • Сортировка подсчётом
  • Сортировка пузырьком
  • шаблон не поддерживает такой синтаксис
  • Сортировка слиянием — сортируем первую и вторую половину списка отдельно, а затем — сливаем отсортированные списки
  • шаблон не поддерживает такой синтаксис
  • Хитрая сортировка — извлекает из исходной последовательности отсортированные подпоследовательности, производя их слияние с уже извлечёнными данными
  • Цифровая сортировка (Сортировка по отделениям)

Алгоритмы слиянияПравить

ЛитератураПравить

  • Шаблон:±. Искусство программирования, том 4, выпуск 4. Генерация всех деревьев. История комбинаторной генерации = The Art of Computer Programming, Volume 4, Fascicle 4: Generating All Trees -- History of Combinatorial Generation. — М.: «Вильямс», 2007. — С. 160. — ISBN 0-321-33570-8.

СсылкиПравить