Spécification de la fin des sentinelles à chaîne en python avant de construire un tableau de suffixe

StackOverflow https://stackoverflow.com/questions/4951982

Question

J'implémente des algorithmes dans http://portal.acm.org/citation.cfm?id=1813708 qui utilisent des tableaux de suffixes pour trouver des sous-chaînes communes les plus longues. Les algorithmes impliquent la construction d'un tableau de suffixe pour une chaîne qui est la concaténation d'un ensemble de chaînes données avec des séparateurs de chaîne appelés sentinelles. Ainsi, par exemple, si on nous donne les chaînes A, B et C, une nouvelle chaîne D est créée qui est un 1 milliard de dollars 2C 3 $ où 1 $, 2 $, 3 $ sont les caractères sentinelles marquant les extrémités de chaque chaîne. Les personnages de Sentinel doivent être uniques et lexicographiquement inférieurs à tous les autres personnages de A, B et C.

Ma question tourne autour de la représentation des personnages sentinelles dans Python. Si A, B et C sont des cordes ASCII, je pense que je devrais peut-être convertir ces chaînes en UTF-8 et passer de leur gamme de 0 à 127 Les cordes. Si cela semble raisonnable, quel est le mécanisme le plus efficace pour refaire les caractères en Python de sorte que leur portée est N-127 + N où n est le nombre de chaînes fournies?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top