Quelle est la complexité de la création d'un trie d'une liste de mots et quelle est la complexité de la recherche d'autres mots dans ce trie? Dois-je utiliser trie pour la recherche de chaînes, quand j'ai la hashtable?Trie complexité et la recherche
Répondre
La complexité de la création d'une structure arborescente est O(W*L)
, où W
est le nombre de mots, et L
est une longueur moyenne du mot: vous devez effectuer L
recherches sur la moyenne pour chacun des W
mots dans l'ensemble.
Il en va de même pour rechercher des mots plus tard: vous effectuez les étapes L
pour chacun des mots W
.
Les insertions et les recherches de hachage ont la même complexité: pour chaque mot, vous devez vérifier l'égalité, ce qui prend O(L)
, pour la complexité globale de O(W*L)
.
Si vous avez besoin de rechercher des mots entiers, la table de hachage est plus facile. Cependant, vous ne pouvez pas rechercher les mots par leur préfixe en utilisant une table de hachage; Si les recherches par préfixe ne vous intéressent pas, utilisez une table de hachage; sinon, utilisez un trie.
- 1. Complexité de l'opération de recherche sur un nedtrie (bitwise trie)
- 2. Haskell fonctions TRIE - Insertion des valeurs et la recherche
- 3. Complexité temporelle de Prune et Recherche
- 4. Complexité de la recherche d'un Lucene
- 5. Gallop Temps de recherche Complexité?
- 6. Comment puis-je améliorer la complexité d'une fonction qui trie une liste pour chaque point?
- 7. complexité temporelle et spatiale de l'ampleur première recherche
- 8. Trier rapidement Moyenne et Pire complexité de la complexité?
- 9. Trie préréglée
- 10. Recherche dans plusieurs tableaux triés et sa complexité
- 11. Complexité temporelle et preuve de complexité temporelle
- 12. TreeMap - Complexité du temps de recherche
- 13. Recherche de l'entrée maximale (complexité temporelle)
- 14. Graphique dirigé et complexité
- 15. complexité moyenne des cas de recherche ternaire
- 16. algorithmes complexité performance et espace
- 17. Complexité de la recherche du nombre commun dans 3 tableaux
- 18. Complexité temporelle de la recherche de dictionnaire en Python
- 19. Complexité et essais binaires
- 20. Carnet d'adresses Trie et recherche efficace par nom et numéro de contact
- 21. Python remove() trie la liste?
- 22. Les cordes se rejoignent et la complexité?
- 23. Trie un tableau qui est partiellement triée
- 24. A * la complexité du temps
- 25. Object.keys() complexité?
- 26. complexité pour la recherche d'un élément dans l'arbre binaire presque complet et complet
- 27. Quelle est la complexité du temps et de la complexité espace de code suivant
- 28. Connexion entre la complexité amortie et la complexité du temps le plus défavorable
- 29. Complexité temporelle et résultats expérimentaux
- 30. La complexité d'une fonction
Si je regarde le mot entier en hashtable, j'ai besoin d'une bonne fonction de hachage et nous devrions faire attention quand nous définissons la fonction de hachage. Corrigez-moi si je me trompe ... – Varun
@var En raison de l'utilisation généralisée des cordes comme clés des tables de hachage, de très bonnes fonctions de hachage pour les cordes ont été inventées. Une recherche rapide sur internet vous donnerait une demi-douzaine d'excellentes suggestions. Je voudrais aller avec celui que Microsoft utilise, ou celui intégré dans les chaînes Java, car ils ont été beaucoup optimisés. – dasblinkenlight