4551
правка
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 52: | Строка 52: | ||
Граница Яо может быть достигнута благодаря использованию индексной структуры для обращенного шаблона. Это выполняется при помощи алгоритма обращения сегмента (Reverse Factor), также известного как BDM (Backward Dawg Matching, сопоставление с обращенным ориентированным ациклическим графом слов | Граница Яо может быть достигнута благодаря использованию индексной структуры для обращенного шаблона. Это выполняется при помощи алгоритма обращения сегмента (Reverse Factor), также известного как BDM (Backward Dawg Matching, сопоставление с обращенным ориентированным ациклическим графом слов – ОАГС). | ||
Строка 58: | Строка 58: | ||
Вместо индексной структуры может использоваться фактор-оракул, поскольку единственной строкой длины m, | Вместо индексной структуры может использоваться фактор-оракул, поскольку единственной строкой длины m, принимаемой оракулом строки w длины m, является сама строка w. Это выполняется при помощи алгоритма сопоставления с обращенным оракулом (Backward Oracle Matching, BOM) Аллозена, Крочмора и Раффино [1]. На практике его поведение схоже с поведением алгоритма BDM. | ||
'''Алгоритмы, оптимальные по времени и памяти''' | '''Алгоритмы, оптимальные по времени и памяти''' | ||
Алгоритмы этого типа выполняются за линейное время (это относится к предварительной обработке и поиску) и требуют константного объема памяти в дополнение к объему входных данных. | Алгоритмы этого типа выполняются за линейное время (это относится и к предварительной обработке, и к поиску) и требуют константного объема памяти в дополнение к объему входных данных. | ||
правка