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

Материал из свободной русской энциклопедии «Традиция». Вы можете дополнить или исправить его.
Перейти к навигации Перейти к поиску
Список статей для координации работ по развитию темы.

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

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

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

Комбинаторные алгоритмы[править | править код]

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

Алгоритмы сжатия данных[править | править код]

Алгоритмы сжатия без потерь[править | править код]

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

Алгоритмы сжатия с потерями[править | править код]

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

Вычислительная геометрия[править | править код]

Компьютерная графика[править | править код]

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

Компьютерное зрение[править | править код]

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

Криптографические алгоритмы[править | править код]

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

Цифровая обработка сигналов[править | править код]

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

Разработка ПО[править | править код]

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

Алгоритмы распределённых систем[править | править код]

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

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

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

Алгоритмы в операционных системах[править | править код]

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

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

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

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

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

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

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

Генетические алгоритмы[править | править код]

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

Медицинские алгоритмы[править | править код]

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

Нейронные сети[править | править код]

Вычислительная алгебра[править | править код]

Теоретико-числовые алгоритмы[править | править код]

Численные алгоритмы[править | править код]

Icons-mini-icon 2main.png Основная статья: Численный анализ

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

  • шаблон не поддерживает такой синтаксис — вычисление кривых Безье
  • Приближенное вычисление решений
    • шаблон не поддерживает такой синтаксис (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.

Ссылки[править | править код]