Мне нужно выполнить известное преобразование Берроуза-Уилера за линейное время. Я нашел решение с сортировкой по суффиксу и символом EOF, но добавление EOF меняет преобразование. Например: рассмотрим строку bcababa
и два поворота
abababc
ababcab
видно, что s1 < s2. Теперь с символом EOF:
и теперь s2 < s1. И результирующая трансформация будет другой. Как я могу выполнить BWT без EOF?