J'aurais besoin de créer un dictionnaire sous forme d'arbre
du style :
a---u---x //aux
| |-t---a---n---t //autant
|-i---m---é //aimé
| | |-e //aime
| |-e //aie
|-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides.
(je voudrais éviter de faire la correspondance sur de nombreux mots
commançant pareil)
Cela a t'il déjà implémenté ?
Y a t'il une structure de donnée de l'API qui me permettrait de faire ca
facilement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nico
Salut,
pourquoi ne pas simplement utiliser un HashSet ou HashMap, avec le mot comme clé ? Ca ira sans doute plus vite qu'un arbre en performances et y a rien a coder.
"Nicolas Cherel" a écrit dans le message de news:422632af$0$32270$
Bonjour,
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Cela a t'il déjà implémenté ? Y a t'il une structure de donnée de l'API qui me permettrait de faire ca facilement ?
Merci d'avance
Salut,
pourquoi ne pas simplement utiliser un HashSet ou HashMap, avec le mot comme
clé ?
Ca ira sans doute plus vite qu'un arbre en performances et y a rien a coder.
"Nicolas Cherel" <nicolas.cherel@free.fr> a écrit dans le message de
news:422632af$0$32270$626a14ce@news.free.fr...
Bonjour,
J'aurais besoin de créer un dictionnaire sous forme d'arbre
du style :
a---u---x //aux
| |-t---a---n---t //autant
|-i---m---é //aimé
| | |-e //aime
| |-e //aie
|-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides.
(je voudrais éviter de faire la correspondance sur de nombreux mots
commançant pareil)
Cela a t'il déjà implémenté ?
Y a t'il une structure de donnée de l'API qui me permettrait de faire ca
facilement ?
pourquoi ne pas simplement utiliser un HashSet ou HashMap, avec le mot comme clé ? Ca ira sans doute plus vite qu'un arbre en performances et y a rien a coder.
"Nicolas Cherel" a écrit dans le message de news:422632af$0$32270$
Bonjour,
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Cela a t'il déjà implémenté ? Y a t'il une structure de donnée de l'API qui me permettrait de faire ca facilement ?
Merci d'avance
Vincent Lascaux
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il serait surement moins gourmand en mémoire et plus performant de garder un tableau trié des mots et d'effectuer deux recherches binaires : - Le plus grand index i tel que mots[i] < prefixe - Le plus petit index i tel que prefixe < mots[i] L'opérateur < utilisé étant une comparaison lexicographique en se limitant à la taille du plus petit des mots. L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense qu'il faut faire l'algo de recherche binaire à la main par contre)
-- Vincent
J'aurais besoin de créer un dictionnaire sous forme d'arbre
du style :
a---u---x //aux
| |-t---a---n---t //autant
|-i---m---é //aimé
| | |-e //aime
| |-e //aie
|-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides.
(je voudrais éviter de faire la correspondance sur de nombreux mots
commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il
serait surement moins gourmand en mémoire et plus performant de garder un
tableau trié des mots et d'effectuer deux recherches binaires :
- Le plus grand index i tel que mots[i] < prefixe
- Le plus petit index i tel que prefixe < mots[i]
L'opérateur < utilisé étant une comparaison lexicographique en se limitant à
la taille du plus petit des mots.
L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense
qu'il faut faire l'algo de recherche binaire à la main par contre)
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il serait surement moins gourmand en mémoire et plus performant de garder un tableau trié des mots et d'effectuer deux recherches binaires : - Le plus grand index i tel que mots[i] < prefixe - Le plus petit index i tel que prefixe < mots[i] L'opérateur < utilisé étant une comparaison lexicographique en se limitant à la taille du plus petit des mots. L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense qu'il faut faire l'algo de recherche binaire à la main par contre)
-- Vincent
Nicolas Cherel
Vincent Lascaux wrote:
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il serait surement moins gourmand en mémoire et plus performant de garder un tableau trié des mots et d'effectuer deux recherches binaires : - Le plus grand index i tel que mots[i] < prefixe - Le plus petit index i tel que prefixe < mots[i] L'opérateur < utilisé étant une comparaison lexicographique en se limitant à la taille du plus petit des mots. L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense qu'il faut faire l'algo de recherche binaire à la main par contre)
Bien vu, et merci, je n'y avait pas pensé...
Vincent Lascaux wrote:
J'aurais besoin de créer un dictionnaire sous forme d'arbre
du style :
a---u---x //aux
| |-t---a---n---t //autant
|-i---m---é //aimé
| | |-e //aime
| |-e //aie
|-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides.
(je voudrais éviter de faire la correspondance sur de nombreux mots
commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il
serait surement moins gourmand en mémoire et plus performant de garder un
tableau trié des mots et d'effectuer deux recherches binaires :
- Le plus grand index i tel que mots[i] < prefixe
- Le plus petit index i tel que prefixe < mots[i]
L'opérateur < utilisé étant une comparaison lexicographique en se limitant à
la taille du plus petit des mots.
L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense
qu'il faut faire l'algo de recherche binaire à la main par contre)
J'aurais besoin de créer un dictionnaire sous forme d'arbre du style : a---u---x //aux | |-t---a---n---t //autant |-i---m---é //aimé | | |-e //aime | |-e //aie |-p---r---è---s //après
Cela me permettrait de faire des recherche de correspondances rapides. (je voudrais éviter de faire la correspondance sur de nombreux mots commançant pareil)
Si le but est d'obtenir une liste des mots ayant un certain préfixe, il serait surement moins gourmand en mémoire et plus performant de garder un tableau trié des mots et d'effectuer deux recherches binaires : - Le plus grand index i tel que mots[i] < prefixe - Le plus petit index i tel que prefixe < mots[i] L'opérateur < utilisé étant une comparaison lexicographique en se limitant à la taille du plus petit des mots. L'ensemble des mots ayant le préfixe est entre les deux indexes.
Programmer ca ne devrait pas être très compliqué (ArrayList, sort, je pense qu'il faut faire l'algo de recherche binaire à la main par contre)