Sie können davon ausgehen, dass alle Eingaben aus Kleinbuchstaben bestehen a-z.
Alle Eingaben sind garantiert nicht leere Zeichenfolgen.
Dies ist ein Leetcode-Problem:
Lösung:
Bevor wir uns mit der Lösung dieses Problems befassen, werden wir zunächst verstehen, was die Trie-Datenstruktur in Kürze ist.
Ein Trie ist eine geordnete Baumstruktur, die hauptsächlich zum Speichern von Zeichenfolgen verwendet wird. Der Grund, warum es zum Speichern von Zeichenfolgen verwendet wird, ist die schnelle Abrufzeit. Die Komplexität des Auffindens einer Zeichenfolge in einem Versuch ist O (m), wobei m die Länge der Zeichenfolge ist. Wenn wir eine Million Zeichenfolgen in Trie gespeichert haben und eine bestimmte Zeichenfolge finden müssen, sagen wir cat, dann ist ihre Komplexität O (3), ist das nicht erstaunlich.
Der Begriff trie stammt vom Wort retrieval ab, da er das Abrufen einer Zeichenfolge aus der Sammlung von Zeichenfolgen sehr einfach macht. Trie wird auch als Präfixbaum bezeichnet.
In Trie ist die Wurzel leer und jeder untergeordnete Knoten enthält nur ein Zeichen. Die Anzahl der untergeordneten Knoten, die ein bestimmter Knoten haben kann, hängt also von der Anzahl der Alphabete in einer bestimmten Sprache ab. Angenommen, wir verwenden unseren Versuch, englische Wörter zu speichern, dann hat jeder Knoten 26 untergeordnete Knoten.