Le migliori 150 intervisteMedio

Implementare l'albero dei prefissi Trie

Guida dettagliata e implementazione Python per il problema 'Implement Trie Prefix Tree'.

Dichiarazione del problema

Medio

Un trie (pronunciato come 'try') o albero del prefisso è una struttura di dati ad albero utilizzata per archiviare e recuperare in modo efficiente le chiavi in un set di dati di stringhe. Esistono varie applicazioni di questa struttura dati, come il completamento automatico e il controllo ortografico.

Implementa la classe Trie:

- Trie() Inizializza l'oggetto trie.

- insert(word: str) Inserisce la stringa word nel trie.

- search(word: str) -> bool Restituisce True se la stringa word è nel trie (cioè è stata inserita prima) e False altrimenti.

- iniziaCon(prefisso: str) -> bool Restituisce True se è presente una parola stringa inserita in precedenza che ha il prefisso prefix e False altrimenti.

L'input è un elenco di operazioni e argomenti. Implementa una funzione trie(operations: list, arguments: list) -> list che restituisce un elenco di risultati (Nessuno per costruttore/inserimento, bool per ricerca/startsWith).

Vincoli
  • 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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche per Trie come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'editor
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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.