Clase TrieNode
Lección 3 de 14 del curso Tries - Serie de Estructuras de Datos #8 de Coddy.
Cada nodo en un trie es un objeto pequeño que contiene dos piezas de información: los children que cuelgan de él (un mapa de un carácter al siguiente nodo) y una bandera isEndOfWord que marca si la ruta desde la raíz hasta este nodo deletrea una palabra insertada completa.
Esa es toda la clase. Sin valores, sin claves: la posición de un nodo en el árbol ES su significado. Una ruta de aristas etiquetadas como c, a, t desde la raíz llega al nodo donde establecemos isEndOfWord = true cuando insertamos "cat".
Comencemos construyendo esta clase TrieNode; la clase Trie en la siguiente lección la utilizará.
Desafío
FácilEscribe una clase TrieNode con un constructor que no reciba ninguna entrada.
Inicializa dos campos:
childrenestablecido en un mapa vacío (o el equivalente de tu lenguaje para un mapa de carácter a nodo).isEndOfWordestablecido en false.
Pruébalo tú mismo
#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;
}