Trie-Klasse
Lektion 4 von 14 im Kurs Tries - Datenstrukturen-Serie #8 von Coddy.
Die Trie-Klasse selbst ist sehr schlank: Sie besitzt ein einzelnes Feld, root, welches ein TrieNode ist. Jedes Einfügen, Suchen und Nachschlagen beginnt bei dieser Wurzel und geht den Baum Zeichen für Zeichen nach unten.
Der Konstruktor erstellt einen neuen TrieNode für die Wurzel. Diese Wurzel hat noch keine Kinder und ist nicht als Ende eines Wortes markiert, sodass der Trie leer beginnt. Die Methoden, die wir in den nächsten Lektionen hinzufügen, werden Kinder davon ausgehend wachsen lassen.
Aufgabe
EinfachSchreiben Sie eine Klasse Trie mit einem Konstruktor, der keine Eingabe erwartet.
Initialisieren Sie ein einzelnes Feld root als einen neuen TrieNode (unter Verwendung der Klasse, die Sie in der vorherigen Lektion geschrieben haben).
Probier es selbst
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "trie.h"
int main() {
Trie t;
Trie_init(&t);
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
line[strcspn(line, "\r\n")] = '\0';
char* cmd = strtok(line, " \t");
if (!cmd) continue;
if (strcmp(cmd, "rootIsEmpty") == 0) { printf("%s\n", TrieNode_childrenCount(t.root) == 0 ? "true" : "false"); }
}
return 0;
}