Top 150-InterviewMittel

Implementieren Sie den Trie-Präfixbaum

Detaillierte Anleitung und Python-Implementierung für das Problem „Implement Trie Prefix Tree“.

Problemstellung

Mittel

Ein Trie (ausgesprochen als „try“) oder Präfixbaum ist eine Baumdatenstruktur, die zum effizienten Speichern und Abrufen von Schlüsseln in einem Datensatz aus Zeichenfolgen verwendet wird. Es gibt verschiedene Anwendungen dieser Datenstruktur, beispielsweise Autovervollständigung und Rechtschreibprüfung.

Implementieren Sie die Trie-Klasse:

- Trie() Initialisiert das Trie-Objekt.

- insert(word: str) Fügt das String-Wort in den Versuch ein.

- search(word: str) -> bool Gibt „True“ zurück, wenn das String-Wort im Trie enthalten ist (d. h. vorher eingefügt wurde), andernfalls „False“.

- startetWith(prefix: str) -> bool Gibt „True“ zurück, wenn es ein zuvor eingefügtes Zeichenfolgenwort mit dem Präfix „prefix“ gibt, andernfalls „False“.

Die Eingabe ist eine Liste von Operationen und Argumenten. Implementieren Sie eine Funktion trie(operations: list, arguments: list) -> list, die eine Ergebnisliste zurückgibt (Keine für Konstruktor/Einfügung, Bool für Suche/StartsWith).

Einschränkungen
  • 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

Beispiele

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?
Erwägen Sie die Verwendung von Trie-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.