Quelques liens
Pour une position i dans la table L, l'entier LF[i] est la position de la lettre correspondante dans F = sorted(L) (en tenant compte nombre d'occurences de cette lettre).
Proposer une implantation linéaire du calcul de la table LF.
Le fichier tools_karkkainen_sanders.py (écrit par Romain Brixtel) implante l'algorithme de Kärkkäinen et Sanders pour la construction linéaire des tables de suffixes.
Ce fichier contient entre autres la fonction direct_kark_sort(s) pour le calcul de la table des suffixes TS.
Un programme minimal qui calcule la table des suffixes d'un mot u passé en argument serait:
# -*- coding: utf-8 -*-
import sys
from tools_karkkainen_sanders import *
if __name__ == '__main__':
u = "abracadabra"
"""
direct_kark_sort(u) retourne la liste des indices des suffixes du mot u
en ordre croissant
"""
TS = direct_kark_sort(u)
print(TS)