Top 150 des entrevuesMoyen

Implémenter l'arborescence des préfixes Trie

Guide détaillé et implémentation de Python pour le problème « Implémenter l'arbre de préfixes Trie ».

Énoncé du problème

Moyen

Un trie (prononcé « try ») ou un arbre de préfixes est une structure de données arborescente utilisée pour stocker et récupérer efficacement des clés dans un ensemble de données de chaînes. Il existe diverses applications de cette structure de données, telles que la saisie semi-automatique et le correcteur orthographique.

Implémentez la classe Trie :

- Trie() Initialise l'objet trie.

- insert(word: str) Insère le mot chaîne dans le trie.

- search(word: str) -> bool Renvoie True si le mot chaîne est dans le trie (c'est-à-dire qu'il a été inséré auparavant), et False sinon.

- startWith(prefix: str) -> bool Renvoie True s'il existe un mot de chaîne précédemment inséré qui porte le préfixe préfixe, et False sinon.

L'entrée est une liste d'opérations et d'arguments. Implémentez une fonction trie(operations: list, arguments: list) -> list qui renvoie une liste de résultats (Aucun pour constructeur/insertion, bool pour recherche/startsWith).

Contraintes
  • 1 <= len(word), len(prefix) <= 2000
  • word and prefix consist of lowercase English letters
  • At most 3 * 10^4 calls will be made in total to insert, search, and startsWith

Exemples

Example 1
Input
operations = ["Trie", "insert", "search", "search", "startsWith", "insert", "search"], arguments = [[], ["apple"], ["apple"], ["app"], ["app"], ["app"], ["app"]]
Output
[None, None, True, False, True, None, True]
Explanation

Trie initialized. insert("apple"). search("apple") returns True. search("app") returns False. startsWith("app") returns True. insert("app"). search("app") returns True.

Need a Hint?
Pensez à utiliser des structures de données spécifiques à Trie, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Ouvrir dans l'éditeur
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.