Список алгоритмов

Список статей для координации работ по развитию темы.

Нижеследующее — это список алгоритмов. Также смотрите список структур данных, список основных разделов теории алгоритмов и список терминов, относящихся к алгоритмам и структурам данных.

Если Вы планируете добавить какой-либо алгоритм в этот список, убедитесь, пожалуйста, что его здесь ещё нет (возможно, алгоритм упоминается под каким-либо альтернативным названием). Внимательно посмотрите, к какой именно категории относится данный алгоритм. В случае, когда из названия не ясно, что именно делает алгоритм, напишите, пожалуйста, краткое описание.

Если Вы планируете написать статью про один из алгоритмов, упомянутых в этом списке, пожалуйста, прочитайте сначала руководство шаблон не поддерживает такой синтаксис или посмотрите несколько уже написанных статей, посвящённых алгоритмам.

Комбинаторные алгоритмыПравить

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

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

Алгоритмы сжатия без потерьПравить

  • Преобразование Барроуза-Уилера (также известен как англ. BWT) — предварительная обработка данных для улучшения сжатия без потерь
  • Преобразование Шиндлера (англ. ST) — модификация преобразования Барроуза-Уилера
  • шаблон не поддерживает такой синтаксис
  • Дельта-кодирование — эффективно для сжатия данных, в которых последовательности часто повторяются
  • Инкрементное кодирование — дельта-кодирование применяемое к последовательности строк
  • Семейство алгоритмов словарного сжатия Лемпеля-Зива:
  • Алгоритм сжатия PPM
  • Кодирование длин серий (Групповое кодирование, также известен как англ. RLE) — последовательная серия одинаковых элементов заменяется на два символа: элемент и число его повторений
  • шаблон не поддерживает такой синтаксис— сжатие без потерь, автоматическое адаптивное построение контекстно-свободной грамматики для обрабатываемых данных
  • шаблон не поддерживает такой синтаксис (EZW-кодирование)
  • Энтропийное кодирование — схема кодирования, которая присваивает коды символам таким образом, чтобы соотнести длину кодов с вероятностью появления символов
    • Кодирование Шеннона-Фано — самый простой алгоритм кодирования
    • Алгоритм Хаффмана — алгоритм построения кода при помощи кодовых деревьев
      • шаблон не поддерживает такой синтаксис — техника адаптивного кодирования, основывающая на коде Хаффмана
    • шаблон не поддерживает такой синтаксис — используется для однородного вероятностного распределения с конечным алфавитом
    • Арифметическое кодирование — развитие энтропийного кодирования
    • шаблон не поддерживает такой синтаксис — метод сжатия данных, который близок по эффективности к арифметическому кодированию
  • Энтропийное кодирование с известными характеристиками
    • Унарное кодирование — код, который представляет число n в виде n единиц с замыкающим нулём
    • дельта|гамма|омега-кодирование Элиаса (англ. Elias coding) — универсальный код, кодирующий положительные целые числа
    • шаблон не поддерживает такой синтаксис— универсальный код, который кодирует положительные целые числа в двоичные кодовые слова
    • Кодирование Голомба — форма энтропийного кодирования, которая оптимальна для алфавитов с геометрическим распределением
    • шаблон не поддерживает такой синтаксис— форма энтропийного кодирования, которая оптимальна для алфавитов с геометрическим распределением

Алгоритмы сжатия с потерямиПравить

  • шаблон не поддерживает такой синтаксис— сжатие с потерями, представляющее спектральную огибающую цифрового сигнала речи в сжатом виде
  • А-закон — стандартный алгоритм компандирования
  • Мю-закон — стандартный алгоритм компандирования
  • Фрактальное сжатие — метод, использующий фракталы для сжатия изображений
  • шаблон не поддерживает такой синтаксис — тип сжатия данных для «естественных» данных, таких как аудио-сигналы или фотографические изображения
  • шаблон не поддерживает такой синтаксис— техника, часто используемая в сжатии данных с потерями
  • Вейвлетное сжатие — тип компрессии данных хорошо подходящий для сжатия изображений (иногда также используется для сжатия видео и аудио)

Вычислительная геометрияПравить

Компьютерная графикаПравить

  • Алгоритм Брезенхэма — растеризует отрезок линии с заданными координатами начала и конца
  • шаблон не поддерживает такой синтаксис — алгоритм для аппроксимации отрезка на дискретной графической поверхности
  • Алгоритм DDA-линии — чертит точки двухмерного массива в форме прямой линии между двумя заданными точками (использует вычисления с плавающей точкой)
  • шаблон не поддерживает такой синтаксис— заливает соединённый регион многомерного массива указанным значением
  • шаблон не поддерживает такой синтаксис — алгоритм для сглаживания прямой
  • шаблон не поддерживает такой синтаксис — определяет видимые части 3-хмерной сцены
  • шаблон не поддерживает такой синтаксисрендеринг реалистичных изображений
  • Затемнение Фонга — модель освещения и метод интерполяции в трёхмерной компьютерной графике
  • шаблон не поддерживает такой синтаксис— алгоритм моделирования различных эффектов света и цвета на поверхности объекта в трёхмерной компьютерной графике
  • шаблон не поддерживает такой синтаксис (англ. Scanline rendering) — конструирует образ с помощью перемещения воображаемой линии над образом
  • шаблон не поддерживает такой синтаксис— рассматривает прямое освещение и отражение от других объектов
  • Алгоритмы интерполяции — конструирование новых точек данных, таких как в цифровом увеличителе
    • шаблон не поддерживает такой синтаксис— уменьшение ошибки с помощью шаблон не поддерживает такой синтаксис

Компьютерное зрениеПравить

  • шаблон не поддерживает такой синтаксис— представление образа или видео при помощи меньшего образа или видео

Криптографические алгоритмыПравить

(Смотри также Разделы в криптографии для 'аналитического глоссария')

Цифровая обработка сигналовПравить

  • CORDIC — быстрая техника вычисления тригонометрических функций.
  • шаблон не поддерживает такой синтаксис— Уменьшает комплексную историю давлений в расчёте элементарных противодействий для использования в анализе усталости
  • Osem — алгоритм для обработки медицинских изображений
  • шаблон не поддерживает такой синтаксис— Может быть использован для декодирования цифр тональных сигналов
  • шаблон не поддерживает такой синтаксис— алгоритм увеличения резкости образа

Разработка ПОПравить

  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис— Преобразование между системами адресации диска
  • шаблон не поддерживает такой синтаксис (CRC)— вычисление кода проверки
  • Чётность — Проверка четности количества единиц в двоичной записи числа. Позволяет обнаруживать ошибку в одном разряде.
  • Алгоритм соединения (СУБД) — реализация операции соединения реляционной алгебры.

Алгоритмы распределённых системПравить

  • шаблон не поддерживает такой синтаксисЧастичное упорядочение событий в зависимости от того, что случилось раньше
  • шаблон не поддерживает такой синтаксис — снимок процесса записывающий глобальное состояние системы
  • шаблон не поддерживает такой синтаксисПолное упорядочение событий
  • шаблон не поддерживает такой синтаксис — распределённая синхронизация часов
  • шаблон не поддерживает такой синтаксис — другой алгоритм синхронизации часов

Алгоритмы выделения и освобождения памятиПравить

  • шаблон не поддерживает такой синтаксис— «скромный» сборщик мусора
  • шаблон не поддерживает такой синтаксис— алгоритм выделения памяти таким образом, чтобы фрагментация была наименьшей.
  • шаблон не поддерживает такой синтаксис— Быстрые сборщики мусора, которые разделяют память по возрасту
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис

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

  • шаблон не поддерживает такой синтаксис— Алгоритм, использующийся для избежания взаимных блокировок
  • шаблон не поддерживает такой синтаксис— выбор страницы-жертвы при условиях небольшого объёма памяти
  • шаблон не поддерживает такой синтаксис— выбор нового лидера среди множества компьютеров
  • rsync — алгоритм, использующийся для эффективной передачи файлов между двумя компьютерами

Дисковые алгоритмы-планировщики:

  • шаблон не поддерживает такой синтаксис— дисковый алгоритм планирования, который работает как лифт
  • шаблон не поддерживает такой синтаксис— дисковый алгоритм планирования для уменьшения времени поиска

Алгоритмы синхронизации процессов:

  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис

Алгоритмы планирования

  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис (англ. Multi level feedback queue)
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис (англ. List scheduling)

Генетические алгоритмыПравить

  • шаблон не поддерживает такой синтаксис — также известен как выбор рулеточного колеса

Медицинские алгоритмыПравить

  • шаблон не поддерживает такой синтаксис
  • шаблон не поддерживает такой синтаксис

Нейронные сетиПравить

Вычислительная алгебраПравить

Теоретико-числовые алгоритмыПравить

Численные алгоритмыПравить

  Основная статья: Численный анализ

Смотри также Список разделов численного анализа

  • шаблон не поддерживает такой синтаксис — вычисление кривых Безье
  • Приближенное вычисление решений
    • шаблон не поддерживает такой синтаксис (False position method, regula falsi method) — аппроксимирует корни функции
    • шаблон не поддерживает такой синтаксис (метод касательных) — нахождение нулей функций с помощью производной
    • шаблон не поддерживает такой синтаксис — аппроксимирует корни функции
    • шаблон не поддерживает такой синтаксис — аппроксимирует решение системы уравнений
    • шаблон не поддерживает такой синтаксис
    • шаблон не поддерживает такой синтаксис — алгоритм для решения нелинейных уравнений методом наименьших квадратов
    • шаблон не поддерживает такой синтаксис— алгоритм для решения нелинейных уравнений методом наименьших квадратов
  • Нахождение минимума функции
    • Градиентный спуск
    • шаблон не поддерживает такой синтаксис — для функции нескольких переменных
  • шаблон не поддерживает такой синтаксис — нахождение всех решений задачи точного покрытия
  • шаблон не поддерживает такой синтаксис — вычисление сплайнов
  • шаблон не поддерживает такой синтаксис — вычисление цифр числа пи
  • шаблон не поддерживает такой синтаксис — более аккуратный метод суммирования чисел с плавающей точкой
  • шаблон не поддерживает такой синтаксис — моделирование методом Монте-Карло, численное интегрирование
  • шаблон не поддерживает такой синтаксис — классические способы округления чисел
  • шаблон не поддерживает такой синтаксис — извлечение корня цифра за цифрой
  • Вычисление квадратного корня:
  • шаблон не поддерживает такой синтаксис

Алгоритмы оптимизацииПравить

Грамматический разборПравить

Квантовые алгоритмыПравить

Приложения квантовых вычислений к различным категориям проблем и алгоритмы

Теория вычислений и автоматовПравить

  • шаблон не поддерживает такой синтаксис— алгоритм для преобразования недетерминированного автомата в детерминированный
  • шаблон не поддерживает такой синтаксис— процедура для создания сомножеств

ДругиеПравить

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

  • Ахо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры данных и алгоритмы. — Издательский дом "Вильямс", 2000. — С. 384. — ISBN 5-8459-0122-7 (рус.) / ISBN 0-201-00023-7 (англ.).
  • Василенко О.Н. Теоретико-числовые алгоритмы в криптографии. — Москва: МЦМНО, 2003. — С. 328. — ISBN 5-94057-103-4.
  • Robert Sedgewick. Algorithms in C (Part 5). — Addison-Wesley. — ISBN 0-201-31663-3.
  • Sanjoy Dasgupta, Christos H. Papadimitriou, Umesh Vazirani. Introduction to Algorithms. — McGraw-Hill Companies, The, 2006. — С. 320. — ISBN 0-073-52340-2.

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