Arbre palindromique
Modèle:Infobox Algorithme Un arbre palindrome ou arbre palindromique, aussi appelé arbre eertree, est un graphe utilisé pour des algorithmes de combinatoire des mots.
Description
L'arbre palindrome pour un mot de longueur est une structure de donnée sous forme d'un graphe proche d'un arbre et qui représentent tous les palindromes distincts qui sont facteurs de avec une place additionnelle en Modèle:Sfnp. Lorsque est de longueur sur un alphabet de taille et est donnée on-line, l'arbre peut être construit en temps et place .
Les sommets du graphe représentent des palindromes, les arcs décrivent le passage d'un palindrome au suivant ou à un précédent.
Il y a deux types d'arcs, des arcs directs — qui sont les arcs d'un arbre — et des liens suffixes qui permettent de revenir en arrière.
Les arcs directs sont étiquetés par des symboles de l'alphabet. Il y a un arc direct du sommet vers le sommet étiqueté par la lettre si :
- .
Ainsi, on a dans l'exemple, les arcs
- .
Les liens suffixes sont des arcs qui vont d'un sommet au sommet , où est le plus long suffixe palindrome propre de . Dans l'exemple, les liens suffixes sont tracés en rouge. On a par exemple :
- .
Deux sommets spéciaux sont ajoutés à la structure :
- le sommet qui est la racine de l'arbre ; les arcs sortant de ce sommet et étiqueté ont pour extrémité le sommet ; on a donc, pour tout symbole figurant dans , l'arc
- .
- Le sommet qui représente le mot vide (qui est un palindrome) ; on a alors
- si est facteur de . Le sommet est le lien suffixe du sommet et de lui-même.
La notation curieuse pour ces sommets particuliers est une conséquence de la numérotation des sommets de l'arbre, qui va de 1 jusqu'à un entier qui est aussi le nombre de palindromes figurant dans le mot .
Complexité
On peut montrerModèle:Sfnp que la construction de l'arbre palindromique peur se faire en temps et place . Des variantes ont été données notamment par Mieno, Watanabe et al.Modèle:Sfnp.
Notes et références
Bibliographie
- Modèle:Article
- Modèle:Article — version "journal" de l'article précédent
- Modèle:Article
Lien externe
- « Palindromic tree » ; blog sur adilet.org.
- « Palindromic Tree : Introduction & Implementation » ; sur geeksforgeeks.org.