Menu
Coddy logo textTech

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á.

challenge icon

Desafío

Fácil

Escribe una clase TrieNode con un constructor que no reciba ninguna entrada.

Inicializa dos campos:

  • children establecido en un mapa vacío (o el equivalente de tu lenguaje para un mapa de carácter a nodo).
  • isEndOfWord establecido 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;
}

Todas las lecciones de Tries - Serie de Estructuras de Datos #8