Classe Trie
Lezione 4 di 14 del corso Trie - Serie sulle strutture dati n. 8 di Coddy.
La classe Trie in sé è molto essenziale: possiede un unico campo, root, che è un TrieNode. Ogni inserimento, ricerca e consultazione parte da questa radice e scende lungo l’albero un carattere alla volta.
Il costruttore crea un nuovo TrieNode per la radice. Questa radice non ha ancora figli e non è contrassegnata come fine di alcuna parola, quindi il trie inizia vuoto. I metodi che aggiungeremo nelle prossime lezioni creeranno dei figli a partire da essa.
Sfida
FacileScrivi una classe Trie con un costruttore che non accetta input.
Inizializza un unico campo root come nuovo TrieNode (usando la classe che hai scritto nella lezione precedente).
Provalo tu
#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;
}
Tutte le lezioni di Trie - Serie sulle strutture dati n. 8
Esercitati da solo: Compilatore C online