Преобразование Берроуза-Уилера без символа EOF

Мне нужно выполнить известное преобразование Берроуза-Уилера за линейное время. Я нашел решение с сортировкой по суффиксу и символом EOF, но добавление EOF меняет преобразование. Например: рассмотрим строку bcababaи два поворота

  • s1 = abababc
  • s2 = ababcab

видно, что s1 < s2. Теперь с символом EOF:

  • s1 = ababa#bc
  • s2 = aba#bcab

и теперь s2 < s1. И результирующая трансформация будет другой. Как я могу выполнить BWT без EOF?

6
задан Gilles 'SO- stop being evil' 29 October 2012 в 13:27
поделиться