Donc, si je dois choisir entre une table de hachage et un arbre de préfixes, quels sont les facteurs discriminants qui me conduiraient à choisir l'un plutôt que l'autre. De mon point de vue naïf, il me semble que l'utilisation d'un trie a un coût supplémentaire puisqu'il n'est pas stocké comme un tableau, mais qu'en termes de temps d'exécution (en supposant que la clé la plus longue est le mot anglais le plus long), il peut être essentiellement O(1) (par rapport à la limite supérieure). Peut-être que le mot anglais le plus long est de 50 caractères ?
Les tables de hachage permettent une recherche instantanée une fois que vous avez l'index . Le hachage de la clé pour obtenir l'index semble cependant pouvoir prendre facilement près de 50 étapes.
Quelqu'un peut-il me donner un point de vue plus expérimenté sur ce sujet ? Merci !
1 votes
Il convient de noter qu'un arbre de redix est plus efficace qu'un simple trie, car il n'est pas nécessaire de créer une nouvelle branche pour chaque octet de chaîne. De plus, les arbres redix prennent en charge les recherches "floues" mieux que les tables de hachage, car vous regardez les bits individuels lorsque vous travaillez sur le chemin. Par exemple
00110010
pourrait être l'octet d'entrée, mais vous voulez inclure la correspondance00111010
qui n'est qu'à un bit près.