Salut,
Je ne suis pas d'accord avec ekra...
Cela représente tres vite enormement de calculs de cehrecher toutes les combinaisons de lettres:
Si on reprend ton exemple de CCM cela fait 26 lettres possibles pour chacune des 3 lettres soit 26^3=17576 combinaisons, c'est un algorithme exponentiel (par ex pour 5 lettres on est deja a presque 12 millions de combinaisons) sans compter que tu n'as pas resolu le probleme puisqu il faut que tu tries celles que tu vas garder!
Il n'y a malheureusement pas de solution simple a ton probleme (de classe NP) si tu veux tous les mots possibles a partir d une racine.
La seule maniere d'obtenir un résultat satisfaisant (en dehors de techniques d intelligence artificielle) est de commencer par indexer (sans doublon) les mots de ton site dans un arbre de recherche (pour limiter l espace des solutions) puis de suivre cet arbre au fur et a mesure de la saisie de l utilisateur.
NB: un arbre de recherche dans ton cas sera forme :
- une racine unique (point de depart) qui aura comme fils toutes les 1eres lettres des mots de ton index.
-chacune des lettres aura comme fils toutes les lettres trouvees à la position suivante dans ton index
- etc...
- il faudra avoir un marqueur pour indiquer qu'un mot se termine (par ex un booleen).
Ce qui donne pour "abc", "avec" et "avoir":
*
|
a
/ \
b v
/ / \
c e o
| |
c i
|
r
Tu peux ainsi presenter pour chaque nouvelle lettre saisie tous les mots qui correspondent:
en tapant "a" on aura: "abc", "avec" et "avoir"
en tapant "av" on aura : "avec" et "avoir"
en tapant "avo" on aura: "avoir".
Good luck