Classe TrieNode
Lição 3 de 14 do curso Tries - Série de Estruturas de Dados #8 da Coddy.
Cada nó em uma trie é um pequeno objeto que contém duas informações: os children pendendo dele (um mapa de um caractere para o próximo nó) e uma flag isEndOfWord que marca se o caminho da raiz até este nó soletra uma palavra inserida completa.
Essa é a classe inteira. Sem valores, sem chaves: a posição de um nó na árvore É o seu significado. Um caminho de arestas rotuladas como c, a, t a partir da raiz alcança o nó onde definimos isEndOfWord = true quando inserimos "cat".
Vamos começar construindo esta classe TrieNode - a classe Trie na próxima lição irá usá-la.
Desafio
FácilEscreva uma classe TrieNode com um construtor que não recebe entrada.
Inicialize dois campos:
childrendefinido como um mapa vazio (ou o equivalente da sua linguagem para um mapa de caractere para nó).isEndOfWorddefinido como false.
Experimente você mesmo
#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;
}