Jump to content

Однопроходной алгоритм

В вычислениях однопроходный алгоритм или однопроходный алгоритм — это потоковый алгоритм , который считывает входные данные ровно один раз. [1] Это достигается путем обработки элементов по порядку, без неограниченной буферизации ; он считывает блок во входной буфер , обрабатывает его и перемещает результат в выходной буфер для каждого шага процесса. [2] Однопроходный алгоритм обычно требует времени O ( n ) (см. обозначение «большой O» ) и памяти меньше, чем O ( n ) (обычно O (1)), где n — размер входных данных. [3] Примером однопроходного алгоритма является частично наблюдаемый марковский процесс принятия решений Сондика . [4]

Примеры задач, решаемых однопроходными алгоритмами

[ редактировать ]

Учитывая любой список в качестве входных данных:

  • Подсчитайте количество элементов.

Дан список чисел:

список символов из алфавита из k Дан заранее заданный символов.

  • Подсчитайте, сколько раз каждый символ появляется во входных данных.
  • Найдите наиболее или наименее частые элементы.
  • Отсортируйте список по некоторому порядку символов (возможно, поскольку количество символов после и после ограничено).
  • Найдите максимальный промежуток между двумя появлениями данного символа.

Примеры задач, не решаемых однопроходными алгоритмами

[ редактировать ]

Учитывая любой список в качестве входных данных:

  • Найдите n- й элемент с конца (или сообщите, что в списке меньше n элементов).
  • Найдите средний элемент списка. Однако эту проблему можно решить двумя проходами: проход 1 подсчитывает элементы, а проход 2 выбирает средний.

Дан список чисел:

  • Найдите медиану .
  • Найдите режимы (это не то же самое, что найти наиболее часто встречающийся символ из ограниченного алфавита).
  • Отсортируйте список.
  • Подсчитайте количество элементов, превышающих или меньших среднего значения . Однако это можно сделать в постоянной памяти за два прохода: этап 1 находит среднее значение, а этап 2 выполняет подсчет.

Приведенные выше двухпроходные алгоритмы по-прежнему являются потоковыми алгоритмами , а не однопроходными.

  1. ^ Швейкардт, Николь. «Однопроходной алгоритм» (PDF) . Проверено 1 июля 2021 г.
  2. ^ Поллетт, Крис (14 марта 2005 г.). «Одно- и двухпроходные алгоритмы» (PDF) . Проверено 1 июля 2021 г.
  3. ^ Швейкардт, Николь (2009), «Однопроходной алгоритм» , в LIU, LING ; ОЗСУ, М. ТЭМЕР (ред.), Энциклопедия систем баз данных , Бостон, Массачусетс: Springer US, стр. 1948–1949, doi : 10.1007/978-0-387-39940-9_253 , ISBN  978-0-387-39940-9 , получено 13 апреля 2021 г.
  4. ^ «Однопроходной алгоритм Сондика» . www.pomdp.org .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a6a33588542a7c23676612fba26afe0d__1702382340
URL1:https://arc.ask3.ru/arc/aa/a6/0d/a6a33588542a7c23676612fba26afe0d.html
Заголовок, (Title) документа по адресу, URL1:
One-pass algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)