Pour l'exe et le dico (trop lourd pour le site), telecharger http://perso.club-internet.fr/jbe/anagrammes.zip
Ben comme annoncé dans le titre de la source ce programme a pour but de vous faire devenir imbattable dans la résolution d'anagrammes (sans avoir à se prendre la tete inutilement ;-D ).
On commence par charger un dico : j'en ai trouvé un de 146.000 mots gratuitement il y a longtemps, je remercie chaleuresement le ptit gars qui a ecrit tout ca (même si certains mots n'existent pas et que d'autre ne font pas partie du dico c'est deja une bonne base !).
Tout le prog repose sur la notion d'arbres : chaque node (noeud) de l'arbre du dico represente une lettre et les leafs (feuilles) sont les mots finaux (ils representent le mot obtenu en alignant toutes les lettres des parents dans l'ordre de parenté). Une fois cette arbre construit (ce qui n'est pas tres long malgré la masse de travail), on peut commencer la recherche d'anagramme a proprement parler.
Encore une fois, c'est un arbre qui fait tout le travail : chaque node possede un champ Text qui contient toutes les lettres de l'anagramme pas encore utilisée dans cette partie de l'arbre, et donc chaque node crée un enfant par lettre pas encore utilisée pour lequel le champ Text ne contient plus une de ces lettres. (J'ai bien peur de n'etre clair que pour moi meme... :-S).
Mais bon, contruire tout l'arbre des anagramme, c'est long (le nombre du mot est en n!, avec n la longueur), et verifier si chaque mot qui en resulte appartient au dico, ca l'est encore plus ! C'est pourquoi on met a parti les arbres pour nous accelerer le boulot : l'info c'est comme la botanique, le but c'est de bien tailler les arbres :D => Les elements de l'arbre des anagramme conserve un pointeur vers le mot du dico correspondant, et dès qu'on s'apercoit qu'il n'existe aucun mot du dico possible avec les combinaisons commencées on ne continue pas a creer l'arbre. Exemple : j'entre l'anagramme TRUCS. On commencer a creer l'arbre et en s'apercevant qu'aucun mot ne commence par TC ou CT ou meme RC on elague pas mal la chose...
Voila j'espere avoir réussi a expliquer a peu pres le principe et vous permettre de bientot briller en societé :)