ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слов

Π”ΠΈΡΡΠ΅Ρ€Ρ‚Π°Ρ†ΠΈΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ПослСдний класс Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, связан с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ вычислСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова мноТСства слов. НаибольшСС ΠΎΠ±Ρ‰Π΅Π΅ подслово Π΄Π²ΡƒΡ… слов Ti, T2 — это слово максимальной Π΄Π»ΠΈΠ½Ρ‹, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΈ ΠΏΠΎΠ΄ словом слова Ti, ΠΈ ΠΏΠΎΠ΄ словом слова TV Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ вычислСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова Π΄Π²ΡƒΡ… слов являСтся построСниС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ суффиксного Π΄Π΅Ρ€Π΅Π²Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слов (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • 1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    • 1. 1. ΠŸΠΎΠ½ΡΡ‚ΠΈΡ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈ ΡΠ»ΠΎΠ²Π°
    • 1. 2. БуффиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слов ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ся эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

РассматриваСмая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ интСрСсна ΠΊΠ°ΠΊ с Ρ‚СорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Ρ‚Π°ΠΊ ΠΈ Ρ ΠΏΡ€Π°ΠΊΡ‚ичСской: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ многочислСнныС связи с ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠΎΠΉ слов, Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ², Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ прилоТСния Π² Π±ΠΈΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстов, распознавании Ρ€Π΅Ρ‡ΠΈ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Π·Ρ€Π΅Π½ΠΈΠΈ.

Под словом ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ нСпустого мноТСства, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠΌ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ этого мноТСства Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΡΠ»ΠΎΠ²Π°Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ практичСскиС прилоТСния, Ρ‚ΠΎ Π½Π°Ρ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ процСссы, происходящиС Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’ Π½Π°ΡΡ‚оящСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ вычислСний.

ΠŸΠ΅Ρ€Π²Π°Ρ модСль вычислСний, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, — это равнодоступная адрСсная машина, сокращСнно РАМ (см. [2]). РАМ состоит ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ячССк, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи. Число ячССк, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ свСрху. Вакая идСализация допустима Π² ΡΠ»ΡƒΡ‡Π°ΡΡ…, ΠΊΠΎΠ³Π΄Π° 1) Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡ΠΈ достаточно ΠΌΠ°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΠ»Π°ΡΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹;

2) Ρ†Π΅Π»Ρ‹Π΅ числа, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ, достаточно ΠΌΠ°Π»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ ячСйку.

Алгоритм для РАМ являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Π’ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄, допустимых Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅, Π½Π΅ ΡΠ»ΠΈΡˆΠΊΠΎΠΌ Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. ΠœΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ срСди элСмСнтарных ΠΊΠΎΠΌΠ°Π½Π΄ Π΅ΡΡ‚ΡŒ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, сравнСниС с Π½ΡƒΠ»Π΅ΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, косвСнная адрСсация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для индСксации массивов) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ развСтвлСния (Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² [2]). Алгоритм Π½Π΅ Ρ…ранится Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ РАМ ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ сам сСбя.

Вторая модСль, прСдлоТСнная Майклом Π€Ρ€Π΅Π΄ΠΌΠ°Π½ΠΎΠΌ ΠΈ Π”эном Π‘ΠΈΠ»ΡŒΡΡ€Π΄ΠΎΠΌ Π² 1993 Π³. [30], являСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ. Π’ ΡΡ‚ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Ρ„иксируСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ячСйки памяти, полагая Π΅Π³ΠΎ Ρ€Π°Π²Π½Ρ‹ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ константС ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Ρ†Π΅Π»Ρ‹Π΅ числа, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ, Π½Π΅ ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄ΠΈΠ»ΠΈ 2Π¨. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ элСмСнтарных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сдвига Π½Π°Π΄ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ Π΄Π»ΠΈΠ½Ρ‹ Ρ‚.

Π­Ρ‚ΠΈ Π΄Π²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ процСссы, происходящиС Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎ, ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ слоТныС, ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ аспСкт — ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌΡΡ ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ·ΠΆΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, эти ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ достаточно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ практичСских Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

БущСствуСт мноТСство ΠΌΠ΅Ρ€ ΠΎΡ†Π΅Π½ΠΊΠΈ эффСктивности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Рассмотрим основныС ΠΈΠ· Π½ΠΈΡ…: Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ Π΅ΠΌΠΊΠΎΡΡ‚Π½ΡƒΡŽ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ этой Π·Π°Π΄Π°Ρ‡ΠΈ. ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС (ΠΈΠ»ΠΈ просто врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹) Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° — это функция Π’ (ΠΏ), равная ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (количСству элСмСнтарных ΠΊΠΎΠΌΠ°Π½Π΄), Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΌΡƒΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ для Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Аналогично ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅ΠΌΠΊΠΎΡΡ‚Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (ΠΏΠ°ΠΌΡΡ‚ΡŒ) Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° 5(ΠΏ), которая Ρ€Π°Π²Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству ячССк памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏ.

Π’Π°ΠΊΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ практичСскиС прилоТСния, Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ (хотя ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ) ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ являСтся простота Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слов. Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: Π·Π°Π΄Π°Ρ‡Π° ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π°, Π·Π°Π΄Π°Ρ‡Π° построСния разлоТСния ЛСмпСля — Π—ΠΈΠ²Π° ΠΈ Π·Π°Π΄Π°Ρ‡Π° вычислСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄ слова мноТСства слов.

НачнСм с Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π°. Основная постановка этой Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ слова Π  Π² ΡΠ»ΠΎΠ²ΠΎ Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ. Π’Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ слова Π  Π² ΡΠ»ΠΎΠ²ΠΎ Π’ — это подслово слова Π’, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ с Π . БлСдуя принятой Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ слово Π  ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ.

Наивный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ тСкста Π’ ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΡƒΠΊΠ²Ρ‹ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π  Ρ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ слова Π’ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΡΡ‚рСтится нСсовпадСниС Π±ΡƒΠΊΠ², Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π΅Ρ‚ся Π . Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ случаС констатируСтся, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ нашСл Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π  Π² Ρ‚Скст. ПослС этого ΠΎΠ±Ρ€Π°Π·Π΅Ρ† сдвигаСтся Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²ΠΏΡ€Π°Π²ΠΎ, ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ сравнСниС Π·Π°Π½ΠΎΠ²ΠΎ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΊΠΎΠ½Π΅Ρ† Π  Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ Π·Π° ΠΏΡ€Π°Π²ΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ тСкста Π’. ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Ρ€Π°Π²Π½ΠΎ 0(Π  Β¦ ΠΏ). Π—Π΄Π΅ΡΡŒ ΠΈ Π΄Π°Π»Π΅Π΅, Π  — Π΄Π»ΠΈΠ½Π° слова Π .

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 0(Π  + ΠΏ) Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² 1970 Π³. Π”ТСймсом ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠΌ ΠΈ Π’ΠΎΠ½ΠΎΠΌ ΠŸΡ€Π°Ρ‚Ρ‚ΠΎΠΌ [48]. Алгоритм ΠœΠΎΡ€Ρ€ΠΈΡΠ° ΠΈ ΠŸΡ€Π°Ρ‚Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 0(Π ) ячССк памяти. ИдСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅ нСсовпадСния Π±ΡƒΠΊΠ² ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ большС, Ρ‡Π΅ΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Π² [48, 34]). Алгоритм ΠœΠΎΡ€Ρ€ΠΈΡΠ° ΠΈ ΠŸΡ€Π°Ρ‚Ρ‚Π° спСрва ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π  ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ, послС Ρ‡Π΅Π³ΠΎ для любого слова Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС вхоТдСния Π  Π² Π’ Π·Π° 0(ΠΏ) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘ 1970 Π³. Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 80 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Π·Π΅Ρ† извСстСн Π·Π°Ρ€Π°Π½Π΅Π΅ [26]. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ идСями Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π² ΡΡ‚ΠΎΠΌ случаС ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ сравнСний Π±ΡƒΠΊΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

НС ΠΌΠ΅Π½Π΅Π΅ интСрСсным случаСм этой Π·Π°Π΄Π°Ρ‡ΠΈ являСтся Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ€Π°Π½Π΅Π΅ извСстно слово Π’. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΡΡ‚ΠΎΠΌ случаС спСрва строится Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ тСкстовый индСкс слова Π’, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²ΡΠ΅Ρ… подсловах Π’. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ индСкс построСн, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ эффСктивно Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ вхоТдСния Π  Π² Π’ Π΄Π»Ρ любого ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π .

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ тСкстовыми индСксами ΡΠ²Π»ΡΡŽΡ‚ΡΡ суффиксныС Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ ΡΡƒΡ„фиксныС массивы. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ опрСдСлСния суффиксных Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ опрСдСлСния Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π°Π½Ρ‹ Π² Π³Π»Π°Π²Π΅ 1. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ суффиксного Π΄Π΅Ρ€Π΅Π²Π° Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π² 1973 Π³. ΠŸΠΈΡ‚Π΅Ρ€ΠΎΠΌ Π’Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ [60]. БуффиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ слова Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ — это Π΄Π΅Ρ€Π΅Π²ΠΎ с Π·Π°Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ 1 Π΄ΠΎ ΠΏ Π»ΠΈΡΡ‚ΡŒΡΠΌΠΈ, Π½Π° Ρ€Π΅Π±Ρ€Π°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ написаны слова. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Ссли ΠΈΠ΄Ρ‚ΠΈ вдоль корня Π΄Π΅Ρ€Π΅Π²Π° Π΄ΠΎ Π΅Π³ΠΎ листа с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π³ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ слова, написанныС Π½Π° Ρ€Π΅Π±Ρ€Π°Ρ…, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅ΠΌ Π² Ρ‚очности ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½Ρ†Π΅Π²ΠΎΠ³ΠΎ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° (суффикса) слова Π’, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π³, ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ $, Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ Π² Π’. ΠŸΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ суффиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ для слова Π’ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ, Π·Π°Π΄Π°Ρ‡Π° ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° Π·Π° 0(|Π | + output) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π³Π΄Π΅ output — количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π  Π² Π’, Ρ‡Ρ‚ΠΎ являСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, объСм памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ суффиксным Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ, довольно большой ΠΈ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ суффискного массива Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π² 1990 Π³. Π”ΠΆΠΈΠ½ΠΎΠΌ ΠœΠ°ΠΉΠ΅Ρ€ΡΠΎΠΌ ΠΈ Π£Π΄ΠΈ ΠœΠ°Π½Π±Π΅Ρ€ΠΎΠΌ [46]. Буффиксный массив слова Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ — это массив Π΄Π»ΠΈΠ½Ρ‹ ΠΏ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ лСксикографичСский порядок Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ суффиксов слова Π’. ОбъСм памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ суффикс-Π½Ρ‹ΠΌ массивом, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠ΅ объСма памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ суффиксным Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ врСмя вычислСния Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π  Π² Π’ ΠΏΡ€ΠΈ использовании суффиксных массивов большС, Ρ‡Π΅ΠΌ врСмя вычислСния ΠΏΡ€ΠΈ использовании суффиксных Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях суффиксныС массивы ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅. На Ρ€ΠΈΡ. 1.1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² вычислСния Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ€Π°Π·Ρ†Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ суффиксных Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΈ ΡΡƒΡ„фиксных массивов, Π³Π΄Π΅ ΠΏ — Π΄Π»ΠΈΠ½Π° слова Π’.

ИндСкс ΠŸΠ°ΠΌΡΡ‚ΡŒ ВрСмя построСния индСкса ВрСмя вычисл. Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.

Π‘ΡƒΡ„Ρ„. Π΄Π΅Ρ€Π΅Π²ΠΎ Π‘ΡƒΡ„Ρ„. массив О (ΠΏ) 0(ΠΏ) 0(ΠΏ) [47, 24, 58, 60] 0{ΠΏ) [38, 53] 0{Π  + output) 0(|Π | + log 71 + output).

Рис. 1: Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΠΈΡ… всС вхоТдСния ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π² Ρ‚Скст.

Но ΠΈ ΡΡƒΡ„фиксный массив Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ тСкстовым индСксом. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ для хранСния слова Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ Π½Π°Π΄ Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠΌ? Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ всСго 0(ΠΏ log Π°) Π±ΠΈΡ‚ (Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° слово хранится Π² ΡΠΆΠ°Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈ Ρ‚ΠΎΠ³ΠΎ мСньшС), Π° Π΄Π»Ρ хранСния суффиксного массива, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»Π΅Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ 0(ΠΏlogΠΏ) Π±ΠΈΡ‚ памяти. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ являСтся сущСствСнным ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ для практичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π² ΡΡ‚ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ вСдутся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ исслСдования (см. ΠΎΠ±Π·ΠΎΡ€ [49]).

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.1 опрСдСляСтся Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый индСкс, основой ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выступаСт Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ?^-Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠ΅ суффиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ [39], Π³Π΄Π΅ Π³ — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ рассматриваСтся РАМ-машина с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ячСйки памяти w. ДоказываСтся, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ тСкстовый индСкс Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ О (^) Π±ΠΈΡ‚ памяти ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π  Π΄Π»ΠΈΠ½Ρ‹ Π  > Π³ Π² Ρ‚Скст Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ Π·Π° Π²Ρ€Π΅ΠΌΡ 0(Π  β€’ ΡˆΠ°Ρ…{1, + max{output, r] Β¦ log ΠΏ/ log log n)), Π³Π΄Π΅ output — количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ P Π² Π’. Π’ Ρ‡Π°ΡΡ‚ности, ΠΏΡ€ΠΈ Π³ = О (Ρ‰^) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ тСкстовый индСкс Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ O (nlogcr) Π±ΠΈΡ‚ памяти (мСньшС, Ρ‡Π΅ΠΌ суффиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ»ΠΈ суффиксный массив) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π  Π΄Π»ΠΈΠ½Ρ‹ |Π | > Π³ Π² Ρ‚Скст Π’ Π΄Π»ΠΈΠ½Ρ‹ ΠΏ Π·Π° Π²Ρ€Π΅ΠΌΡ 0(Π  + max (output, β€’ log ΠΏ/ log log ΠΏ).

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π°. ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ΠΎ мноТСство слов S = {Ti, T2,., Tm}. Π—Π°Π΄Π°Ρ‡Π° состоит Π² ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠΈ тСкстового индСкса для этого мноТСства слов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±Ρ‹ ΠΌΠΎΠ³Π»ΠΈ эффСктивно ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС вхоТдСния ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π  Π² ΡΠ»ΠΎΠ²ΠΎ Π’ (G S ΠΈΠ»ΠΈ Π½Π°ΠΉΡ‚ΠΈ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π  Π² ΡΠ»ΠΎΠ²ΠΎ Tg Π• S.

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, пСрвая ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° Π½Π° ΡΡƒΡ„фиксном Π΄Π΅Ρ€Π΅Π²Π΅ для слова Вс Π·Π° 0(Π  + output) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ потрСбуСтся 0(Π ) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.2 ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ случай Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†Π° — Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‘стном поискС ΠΎΠ±Ρ€Π°Π·Ρ†Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Π·Π΅Ρ† являСтся подсловом ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»ΠΎΠ² Π’Π¬Π’2,., Π’Ρ‚. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Ρ‡ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ 0(ΠΏ) ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ запроса Π»ΠΈΠ±ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰ΠΈΠΌ ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π·Ρ†Π°, Π»ΠΈΠ±ΠΎ зависящим слабо (ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹). ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ описываСм динамичСский тСкстовый индСкс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ эффСктивно ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ слова Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ S.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, являСтся Π·Π°Π΄Π°Ρ‡Π° ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ разлоТСния ЛСмпСля — Π—ΠΈΠ²Π°. Π Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° слова Π’ — это Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π’ = /½ β€’ β€’ β€’ Π³Π΄Π΅ подслово /?, 1 < Π³ < z, являСтся Π»ΠΈΠ±ΠΎ Π±ΡƒΠΊΠ²ΠΎΠΉ, Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π²ΡˆΠ΅ΠΉΡΡ Π΄ΠΎ ΡΡ‚ΠΎΠ³ΠΎ, Π»ΠΈΠ±ΠΎ самым Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠΌ слова fi.. fz, входящим Π² /½. /, — хотя Π±Ρ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ [18, 62]. Подслова /Π³ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ разлоТСния ЛСмпСля — Π—ΠΈΠ²Π°.

Π Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сТатиС Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π°ΠΊΠΈΡ… Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΊΠ°ΠΊ gzip, WinZip, ΠΈ PKZIP). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° являСтся основой Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² [41, 35] ΠΈ Ρ‚Скстовых индСксов [42]. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² построСния разлоТСния ЛСмпСля — Π—ΠΈΠ²Π° являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

ΠŸΡƒΡΡ‚ΡŒ Π’ — слово Π΄Π»ΠΈΠ½Ρ‹ ΠΏ Π½Π°Π΄ Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡΡ‚. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ нСсколько Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ O (nlogn) Π±ΠΈΡ‚ памяти. Основой этих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² слуТат суффиксныС Π΄Π΅Ρ€Π΅Π²ΡŒΡ [54], суффиксныС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ [18] ΠΈ ΡΡƒΡ„фиксныС массивы [1, 14, 19, 20, 21, 52].

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, извСстны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ 0(ΠΏlogсг) Π±ΠΈΡ‚ памяти [51, 52]. ИдСи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΠΎΡ…ΠΎΠΆΠΈ (Π² Ρ‡Π°ΡΡ‚ности, ΠΎΠ±Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ FM-индСкс [28] ΠΈ ΡΠΆΠ°Ρ‚Ρ‹ΠΉ суффиксный массив). Алгоритм, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π­Π½Π½ΠΎ ΠžΡ…Π»Π΅Π±ΡƒΡˆΠ΅ΠΌ ΠΈ Π‘Π°ΠΉΠΌΠΎΠ½ΠΎΠΌ Π“ΠΎΠ³ΠΎΠΌ Π² 2011 Π³., ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ слово Π’ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅, врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° составляСт 0(ΠΏ) [52].

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° [51], Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ДайсукС ΠžΠΊΠ°Π½ΠΎΡ…Π°Ρ€Π° ΠΈ ΠšΡƒΠ½ΠΈΡ…ΠΈΠΊΠΎ Π‘Π°Π΄Π°ΠΊΠ°Π½ΠΎΠΌ Π² 2008 Π³., довольно большоС, 0(ΠΏlog3 ΠΏ). Π•Π³ΠΎ достоинство, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠžΡ…Π»Π΅Π±ΡƒΡˆΠ° ΠΈ Π“ΠΎ Π³Π°, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ слова Π’. Рассмотрим Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ /ь /Π³, β€’ β€’ β€’, /Π³ разлоТСния ЛСмпСля — Π—ΠΈΠ²Π° слова Π’. Π Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° слова Π’Π°, Π³Π΄Π΅, Π° — Π±ΡƒΠΊΠ²Π°, содСрТит Π»ΠΈΠ±ΠΎ Π³, Π»ΠΈΠ±ΠΎ Π³+1 Ρ„Π°ΠΊΡ‚ΠΎΡ€: Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС это Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ /1- /2,., /Π³1, /Π³', Π³Π΄Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π” = /Π³Π°Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС — /ь /2,., /Π³, /Π³+ь Π³Π΄Π΅ /Π³+1 = Π°. Алгоритм [51] Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π’ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ прочтСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ обновляСт Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π°, Ρ‚. Π΅. ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ послСднСго Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΈΠ»ΠΈ добавляСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€.

Для ΠΌΠ½ΠΎΠ³ΠΈΡ… практичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ объСмами Π΄Π°Π½Π½Ρ‹Ρ…, Π±Ρ‹Π»ΠΎ Π±Ρ‹ СстСствСнно Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° Π½Π΅ Ρ‚Π°ΠΊ часто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС прочтСния Π³ > 1 Π±ΡƒΠΊΠ², с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, прямолинСйноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этой ΠΈΠ΄Π΅ΠΈ ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ [51] Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ быстрый Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π’ Π³Π»Π°Π²Π΅ 3 ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ О (n log <Ρ‚) Π±ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ достигаСт Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ компромисса ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Ρ‡Π°ΡΡ‚ΠΎΡ‚ΠΎΠΉ обновлСния разлоТСния ЛСмпСля — Π—ΠΈΠ²Π°. Алгоритм обновляСт Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ЛСмпСля — Π—ΠΈΠ²Π° слова Π’ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Π³ = ^^ Π±ΡƒΠΊΠ². ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π°Π²Π½ΠΎ 0(n log2 ΠΏ).

Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠ΄Π΅ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, описанный Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.1. Основной структурой Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, являСтся ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ суффиксного Π΄Π΅Ρ€Π΅Π²Π°, которая Π±Ρ‹Π»Π° Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ описана Π² Ρ€Π°Π±ΠΎΡ‚Π΅ [15].

ПослСдний класс Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, связан с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ вычислСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова мноТСства слов. НаибольшСС ΠΎΠ±Ρ‰Π΅Π΅ подслово Π΄Π²ΡƒΡ… слов Ti, T2 — это слово максимальной Π΄Π»ΠΈΠ½Ρ‹, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΈ ΠΏΠΎΠ΄ словом слова Ti, ΠΈ ΠΏΠΎΠ΄ словом слова TV Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ вычислСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова Π΄Π²ΡƒΡ… слов являСтся построСниС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ суффиксного Π΄Π΅Ρ€Π΅Π²Π° слов Π’ ΠΈ TV ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΠΎ построСно, Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΡΡ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΈ Π»ΠΈΡΡ‚ΡŒΡ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ суффиксам Π’, ΠΈ Π»ΠΈΡΡ‚ΡŒΡ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ суффиксам TV Π‘Ρ€Π΅Π΄ΠΈ этих Π²Π΅Ρ€ΡˆΠΈΠ½ выбираСтся Π²Π΅Ρ€ΡˆΠΈΠ½Π° с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ слова, написанного вдоль ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ Π΄ΠΎ Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π‘Π»ΠΎΠ²ΠΎ, написанноС вдоль ΠΏΡƒΡ‚ΠΈ, являСтся ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ описан Π² Π³Π»Π°Π²Π΅ 7.9 [34]).

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 4.2 ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½ΠΎ мноТСство слов S = {Ti, Π’2,., Tm} суммарной Π΄Π»ΠΈΠ½Ρ‹ ΠΏ. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ‰ΠΈΠΌ подсловом для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ d Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ слово W, входящСС Π², ΠΏΠΎ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΉ ΠΌΠ΅Ρ€Π΅, d Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… слов мноТСства S, Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ любоС слово Wa, Π³Π΄Π΅, Π° — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ Π±ΡƒΠΊΠ²Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, встрСчаСтся Π² ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ d ΡΠ»ΠΎΠ²Π°Ρ… мноТСства S. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ подслова для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ d ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ: слово W Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ‰ΠΈΠΌ подсловом для d ΠΈ S, Ссли W Π²ΡΡ‚рСчаСтся Π½Π΅ Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ Π² d ΡΠ»ΠΎΠ²Π°Ρ… мноТСства 5, Π° Π»ΡŽΠ±ΠΎΠΉ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ — Π² Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ d ΡΠ»ΠΎΠ²Π°Ρ….

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Ρ‹ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π  ΠΈ Ρ‡ΠΈΡΠ»ΠΎ d < Ρ‚. ΠŸΠ΅Ρ€Π²Π°Ρ Π·Π°Π΄Π°Ρ‡Π° состоит Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΠ΄ слов для.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим слова Ti = ababa, Π’2 = aabbba, Π’3 = bbabcb. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ подслова для d = 2 (ΠΈ ΠΏΡƒΡΡ‚ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π ) — это ab, bab ΠΈ bba. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ab Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚Ρ€ΠΈ слова, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»ΠΎΠ² aba, abb ΠΈ abc Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎ слово. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ подслова для P = bad = 2 — это bab ΠΈ bb..

РСшСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ΅ суф-фиксноС Π΄Π΅Ρ€Π΅Π²ΠΎ для слов Ti, Π’2,., Π’Ρ‚. Для ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ‡ ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 0(Π  + output). Для Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 0(Π  + log log ΠΏ + output), сводя Π·Π°Π΄Π°Ρ‡Ρƒ ΠΊ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΎΡ†Π΅Π½ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ output ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ количСство слов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π°Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ. Алгоритмы Π½Π΅ Π²Ρ‹ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ слова явно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π·Π°Π½ΡΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΡ… Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ это описано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 4.2..

Π”ΠΎ ΡΠΈΡ… ΠΏΠΎΡ€ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±Ρ‰ΠΈΡ… подсловах..

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ¿—Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ наибольшСС ΠΎΠ±Ρ‰Π΅Π΅ подслово слов Π’ ΠΈ Π’2 ΠΊΠ°ΠΊ наибольшСС ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ подслово слова Π’, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сущСствуСт подслово слова Π’2, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π² Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ с? Π±ΡƒΠΊΠ²Π°Ρ…. БущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ¿—Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова Π΄Π²ΡƒΡ… слов, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ врСмя ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ Π΄Π»ΠΈΠ½ слов Π’ ΠΈ Π’2 [34]..

Π’ Π³Π»Π°Π²Π΅ 4.1 описываСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для нахоТдСния 1-Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ подслова слов Π’ ΠΈ Π’2 с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 0(|Π’Ρ…| β€’.

Π’2)..

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, РАМ-модСль описываСт Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎ. Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, устройство Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ВсС вычислСния, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, происходят Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ процСссорС. Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ имССтся РАМ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΡŽΠ±ΠΎΠΉ ячСйкС всСгда Π·Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎ Π΅Π΅ Π°Π΄Ρ€Π΅ΡΡƒ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ РАМ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, РАМ-модСль описываСт процСсс вычислСния довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Если ΠΆΠ΅ Π½Π°ΠΌΡΡ‚ΡŒ, нСобходимая Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ этот объСм, Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ приходится Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ ТСстком дискС. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, записанным Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ячСйках памяти ТСсткого диска, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, записанным Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ячСйках..

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° Π’2 сущСствСнно большС Π΄Π»ΠΈΠ½Ρ‹ Π’ ΠΈ Ρ‡Ρ‚ΠΎ слово Π’ Ρ…ранится Π² Π ΠΠœ-памяти, Π° Π’2 — Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС. Если Π±Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ слова Π’2, Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ большим..

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ слово Π’2, большСС ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, нСсколько Ρ€Π°Π·, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. Помимо памяти, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉΡΡ для хранСния слов, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 0(|Π’Ρ…|) памяти..

Благодарности.

Автор Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ своСму Π½Π°ΡƒΡ‡Π½ΠΎΠΌΡƒ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΡƒ РАН АлСксСю Π›ΡŒΠ²ΠΎΠ²ΠΈΡ‡Ρƒ Π‘Π΅ΠΌΡ‘Π½ΠΎΠ²Ρƒ, Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΡƒ РАН Π‘Π΅Ρ€Π³Π΅ΡŽ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡Ρƒ Адяну, ΠΊ.Ρ„.-ΠΌ.Π½. ΠœΠ°ΠΊΡΠΈΠΌΡƒ АлСксандровичу Π‘Π°Π±Π΅Π½ΠΊΠΎ, ΠΊ.Ρ„.-ΠΌ.Π½. ΠΠ½Π΄Ρ€Π΅ΡŽ ΠΠ»ΡŒΠ±Π΅Ρ€Ρ‚ΠΎΠ²ΠΈΡ‡Ρƒ ΠœΡƒΡ‡Π½ΠΈΠΊΡƒ (1958 — 2007) Π·Π° ΠΏΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΡƒ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Автор Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ всСм сотрудникам ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹ матСматичСской Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π·Π° Ρ‚Π²ΠΎΡ€Ρ‡Π΅ΡΠΊΡƒΡŽ Π΄ΠΎΠ±Ρ€ΠΎΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ атмосфСру..

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ Π½Π° ΠšΠΎΠ»ΠΌΠΎΠ³ΠΎΡ€ΠΎΠ²-ском сСминарС ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ вычислСний ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ руководством Π΄.Ρ„.-ΠΌ.Π½. Николая ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ΠΎΠ²ΠΈΡ‡Π° Π’Π΅Ρ€Π΅Ρ‰Π°Π³ΠΈΠ½Π°, ΠΊ.Ρ„.-ΠΌ.Π½. АндрСя Π•Π²Π³Π΅Π½ΡŒΠ΅Π²ΠΈΡ‡Π° Π ΠΎΠΌΠ°Ρ‰Π΅Π½ΠΊΠΎ, Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΠ° РАН АлСксСя Π›ΡŒΠ²ΠΎΠ²ΠΈΡ‡Π° Π‘Π΅ΠΌΡ‘Π½ΠΎΠ²Π°, ΠΊ.Ρ„.-ΠΌ.Π½. АлСксандра Π₯Π°Π½ΡŒΠ΅Π²ΠΈΡ‡Π° ШСня, Π½Π° ΡΠ΅ΠΌΠΈΠ½Π°Ρ€Π΅ «ΠΠ»Π³ΠΎΡ€ΠΈΡ‚мичСскиС вопросы Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ» ΠΏΠΎΠ΄ руководством Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΠ° РАН БСргСя Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡Π° Адяна, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΡΠ΅ΠΌΠΈΠ½Π°Ρ€Π΅ «ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚орная оптимизация ΠΈ Ρ‚Сория Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²» ΠΏΠΎΠ΄ руководством ΠΊ.Ρ„.-ΠΌ.Π½. Максима АлСксандровича Π‘Π°Π±Π΅Π½ΠΊΠΎ. Автор Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ руководитСлям ΠΈ ΡƒΡ‡Π°ΡΡ‚Π½ΠΈΠΊΠ°ΠΌ этих сСминаров Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅..

1. М. 1. Abouelhoda, S. Kurtz, E. Ohlebusch. Replacing suffix trees with enhanced suffix arrays.. J. of Discrete Algorithms, Vol. 2, № 1. Amsterdam, The Netherlands: Elsevier Science Publishers Π’. V., 2004. — P. 53−86..

2. A.V. Aho, J.E. Hopcroft, J. Ullman. Data structures and algorithms. Reading, Mass.: Addison-Wesley, 1983.A.B. Ахо, ΠΠ»ΡŒΡ„Ρ€Π΅Π΄, Π”ΠΆ. Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚, Π”ΠΆ. Π”. Ульман. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ М.: «Π’ΠΈΠ»ΡŒΡΠΌΠ΅», 2000..

3. A. Amihood, G.M. Landau, М. Lewenstein, D. Sokol. Dynamic text and static pattern matching. ACM Trans. Algorithms, Vol. 3, № 2, 2007..

4. M.A. Bender, M. Farach-Colton. The level ancestor problem simplified. Theor. Comput. Sei., Vol. 321, № 1. Essex, UK: Elsevier Science Publishers Ltd., 2004. P. 5−12..

5. J. L. Bentley. Multidimensional divide-and-conquer. Commun. ACM, Vol. 23, № 4, 1980. P. 214−229.9. 0. Berkman, U. Vishkin. Finding level-ancestors in trees. J. Comput. Syst. Sei., Vol. 48, № 2. Orlando, FL, USA: Academic Press, Inc., 1994. P. 214−230..

6. T.M. Chan. Persistent predecessor search and orthogonal point location on the word RAM. Proceedings of the 22nd ACM-SIAM Symposium on Discrete Algorithms. Philadelphia, PA, USA: Society for Industrial and Applied Mathematics, 2011. P. 1131−1145..

7. T.M. Chan, K.G. Larsen, M. Patra§ cu. Orthogonal range searching on the RAM, revisited. Proceedings of the 27th annual ACM symposium on Computational geometry, ed. by F. Hurtado, M. van Kreveld. New York, NY, USA: ACM, 2011. — P. 1−10..

8. G. Chen, S.J. Puglisi, W.F. Smyth. Lempel-Ziv factorization using less time & space. Mathematics in Computer Science, Vol. 1, № 4. Birkhauser Basel, 2008. P. 605−623..

9. S.-Y. Chiu, W.-K. Hon, R. Shah, J.S. Vitter. Geometric Burrows-Wheeler transform: linking range searching and text indexing. Proceedings of the 18th Data Compression Conference. New York, NY: IEEE Computer Society, 2008. P. 252−261..

10. S.-Y. Chiu, W. Hon, R. Shah, J.S. Vitter. I/O-Efficient Compressed Text Indexes: From Theory to Practice. Proceedings of the 20th Data Compression Conference, ed. by J.A. Storer, M.W. Marcellin. New York, NY: IEEE Computer Society, 2010. P. 426−434..

11. M. Crochemore. Transducers and repetitions. Theor. Comput. Sei., Vol. 45, № 1. Essex, UK: Elsevier Science Publishers Ltd., 1986. -P. 63−68..

12. M. Crochemore, L. Ilie. Computing longest previous factor in linear time and applications. Inf. Process. Lett., Vol. 106, № 2. Amsterdam, The Netherlands: Elsevier North-Holland, Inc., 2008. P. 75−80..

13. M. Crochemore, L. Ilie, W.F. Smyth. A simple algorithm for computing the Lempel-Ziv factorization. Proceedings of the 18th Data Compression Conference. New York, NY: IEEE Computer Society, 2008. P. 482 488..

14. M. Crochemore, W. Rytter. Jewels of stringology. River Edge, NJ, USA: World Scientific Publishing Co. Inc., 2003..

15. P. Dietz, D. Sleator. Two algorithms for maintaining order in a list. Proceedings of the 19th Annual ACM Symposium on Theory of Computing, ed. by A.V. Aho. New York, NY, USA: ACM, 1987. P. 365−372..

16. M. Farach. Optimal suffix tree construction with large alphabets. Proceedings of the 38th Annual Symposium on Foundations of Computer Science. New York, NY: IEEE Computer Society, 1997. P. 137−143..

17. S. Faro, T. Lecroq. The exact string matching problem: a comprehensive experimental evaluation. Computing Research Repository, 2010..

18. P. Ferragina, J. Fischer. Suffix arrays on words. Proceedings of the 18th Annual Symposium on Combinatorial Pattern Matching, ed. by B. Ma, K. Zhang. Lecture Notes in Computer Science, Vol. 4580. Berlin etc.: Springer, 2007. P. 328−339..

19. P. Ferragina, G. Manzini. Opportunistic Data Structures with Applications. Proceedings of the Slrd Annual Symposium on Foundations of Computer Science. New York, NY: IEEE Computer Society, 2000, P. 390−398..

20. P. Ferragina, G. Manzini, V. Makinen, N. Gonzalo. Compressed representations of sequences and full-text indexes. ACM Transactions on Algorithms, Vol. 3, № 2. New York, NY, USA: ACM, 2007..

21. M.L. Fredman, D.E. Willard. Surpassing the information theoretic bound with fusion trees. Journal of Computer and System Sciences, Vol. 47. Orlando, FL, USA: Academic Press, Inc., 1993. P. 424−436..

22. A. Golynski, J. I. Munro, S. S. Rao. Rank/select operations on large alphabets: a tool for text indexing. Proceedings of the 17th Annual ACM-SIAM Symposium on Discrete Algorithms. New York, NY, USA: ACM, 2006. P. 368−373..

23. D. Gusfield. Algorithms on strings, trees, and sequences: computer science and computational biology. New York, NY, USA: Cambridge University Press, 1997. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ…. Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³: «ΠΠ΅Π²ΡΠΊΠΈΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚», 2003..

24. D. Gusfield, J. Stoye. Linear time algorithms for finding and representing all the tandem repeats in a string. J. Comput. Syst. Sci., Vol. 69, № 4. Orlando, FL, USA: Academic Press, Inc., 2004. P. 525−546..

25. W.-K. Hon, R. Shah, J. Vitter. Ordered Pattern Matching: Towards Full-Text Retrieval. Technical report № 06−008. Purdue University, 2006..

26. J. Karkkainen, E. Ukkonen. Sparse suffix trees. Proceedings of the 2nd Annual International Computing and Combinatorics Conference, ed. by J.-Y. Cai, C. K. Wong. Lecture Notes in Computer Science, Vol. 1090. Berlin etc.: Springer, 1996. P. 219−230..

27. R. Kolpakov, G. Kucherov. Finding maximal repetitions in a word in linear time. Proceedings of the 40th Symposium on Foundations of Computer Science. New York, NY: IEEE Computer Society, 1999. — P. 596−604..

28. S. Kreft, G. Navarro. Self-indexing based on LZ77. Proceedings of the 22nd annual conference on Combinatorial Pattern Matching, ed. by R. Giancarlo, G. Manzini. Lecture Notes in Computer Science, Vol. 6661. Berlin etc.: Springer, 2011. — P. 41−54..

29. V. Makinen, G. Navarro. Dynamic entropy-compressed sequences and full-text indexes. ACM Trans. Algorithms, Vol. 4, № 3. New York, NY, USA: ACM, 2008. P. 32:1−32:38..

30. V. Makinen, G. Navarro, Gonzalo. Position-restricted substring searching. Proceedings of the 7th Latin American Symposium, ed. by J.R. Correa, A. Hevia, M.A. Kiwi. Lecture Notes in Computer Science, Vol. 3887. Berlin etc.: Springer, 2006. P. 703−714..

31. E.M. McCreight. A space-economical suffix tree construction algorithm. J. ACM, Vol. 23, № 2. New York, NY, USA: ACM, 1976. P. 262−272..

32. J. H. Morris, V. R. Pratt. A linear pattern-matching algorithm. Technical report 40. University of California, Berkley, 1970..

33. G. Navarro, V. Makinen. Compressed full-text indexes. ACM Comput. Surv., Vol. 39, № 1. New York, NY, USA: ACM, 2007..

34. Y. Nekrich. Orthogonal range searching in linear and almost-linear space. Comput. Geom. Theory Appl, Vol. 42, № 4. Essex, UK: Elsevier Science Publishers B. V., 2009. P. 342−351..

35. S.J. Puglisi, W.F. Smyth, A.H. Turpin. A taxonomy of suffix array construction algorithms. ACM Comput. Surv., Vol. 39, № 2. New York, NY, USA: ACM, 2007..

36. M. Rodeh, V.R. Pratt, S. Even. Linear algorithm for data compression via string matching. J. ACM, Vol. 28, № 1. New York, NY, USA: ACM, 1981. P. 16−24..

37. B. Schieber, U. Vishkin. On finding lowest common ancestors: simplification and parallelization. SI AM Journal on Computing, Vol. 17, № 6, 1988. P. 111−123..

38. W. F. Smyth. Computing patterns in strings. ACM Press Bks. UK: Pearson/Addison-Wesley, 2003..

39. E. Ukkonen. Constructing suffix trees on-line in linear time. Proceedings of the 12th World Computer Congress on Algorithms, Vol. 1. Amsterdam, The Netherlands: North-Holland Publishing Co., 1992. — P. 484−492..

40. E. Ukkonen. On-line construction of suffix trees. Algorithmica, Vol. 14, № 14. New York, NY, USA: Springer New York, 1995. P. 249−260..

41. P. Weiner. Linear pattern matching algorithms. Proceedings of the 14th Annual Symposium on Foundations of Computer Science. New York, NY: IEEE Computer Society, 1973. P. 1−11..

42. J. Ziv, A. Lempel. A universal algorithm for sequential data compression. Transactions on Information Theory, Vol. 23, № 3. New York, NY: IEEE Computer Society Press, 1977. P. 337−343.Π Π°Π±ΠΎΡ‚Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π° ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ диссСртации.

43. М. А. Π‘Π°Π±Π΅Π½ΠΊΠΎ. Π’. А. Бтариковская. ВычислСниС длиннСйшСй ΠΎΠ±Ρ‰Π΅ΠΉ подстроки с ΠΎΠ΄Π½ΠΎΠΉ ошибкой. ΠŸΡ€ΠΎΠ±Π». ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌ., Π’ΠΎΠΌ 47, № 1 (2011), 33−39..

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ