Classe TrieNode
Lezione 3 di 14 del corso Trie - Serie sulle strutture dati n. 8 di Coddy.
Ogni nodo in un trie è un piccolo oggetto che contiene due informazioni: i children che dipendono da esso (una mappa da un carattere al nodo successivo) e un flag isEndOfWord che indica se il percorso dalla radice a questo nodo rappresenta una parola completa inserita.
Questa è l'intera classe. Nessun valore, nessuna chiave: la posizione di un nodo nell'albero È il suo significato. Un percorso di archi etichettati c, a, t dalla radice raggiunge il nodo in cui impostiamo isEndOfWord = true quando inseriamo "cat".
Iniziamo creando questa classe TrieNode: la classe Trie della prossima lezione la userà.
Sfida
FacileScrivi una classe TrieNode con un costruttore che non accetta input.
Inizializza due campi:
childrenimpostato su una mappa vuota (o l'equivalente nella tua lingua per una mappa da caratteri a nodi).isEndOfWordimpostato su false.
Provalo tu
#include <stdio.h>
#include "trienode.h"
int main() {
TrieNode* n = TrieNode_new();
printf("%s %s\n",
TrieNode_childrenCount(n) == 0 ? "true" : "false",
n->isEndOfWord ? "true" : "false");
return 0;
}
Tutte le lezioni di Trie - Serie sulle strutture dati n. 8
Esercitati da solo: Compilatore C online