Я внедряю алгоритмы в http://portal.acm.org/citation.cfm?id=1813708, которые используют массивы суффиксов для поиска самых длинных общих подстрок. Алгоритмы включают в себя создание массива суффиксов для строки, который представляет собой конкатенацию набора заданных строк с разделителями строк, называемыми часовыми. Так, например, если нам даны строки a, b и c, создается новая строка d, которая представляет собой a$1b$2c$3, где $1, $2, $3 — символы-сторожа, обозначающие концы каждой строки. Сигнальные символы должны быть уникальными и лексикографически меньшими, чем все остальные символы в a, b и c.
Мой вопрос вращается вокруг представления символов-стражей в Python. Если a, b и c являются строками ASCII, я думаю, мне может понадобиться преобразовать эти строки в UTF-8 и сместить их диапазон от 0-127 до более высокого диапазона, чтобы были доступны символы, которые лексикографически меньше, чем в струны. Если это кажется разумным, каков наиболее эффективный механизм переназначения символов в Python, чтобы их диапазон был N-127+N, где N — количество предоставленных строк?