Блог пользователя Vladik

Автор Vladik, 10 лет назад, По-русски

Всем доброго времени суток. Я постоянно пользуюсь КМП, но мне недавно стало интересно умеет ли Z-функция то, что не умеет КМП.

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

  • Проголосовать: нравится
  • +15
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится

Yes but Z — fuction better than KMP.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Конечно, умеет. Так же как и префикс функция умеет, то что не умеет Z.

»
10 лет назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится

Они эквивалентны. Одну можно получить из другой

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Суф.массив <-> Суф.дерево <-> Суф.автомат, только мы же на контестах не извращаемся.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну вторую связь я не раз использовал, кстати. Проще Укконена, ИМХО

      Кстати, а можно прямо суфавтомат из суфмаса получить?)

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Если учесть, что префикс функция однозначно восстанавливается по Z и наоборот, то вряд ли.