Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Escreva uma classe TrieNode com um construtor que não recebe entrada.

Inicialize dois campos:

  • children definido como um mapa vazio (ou o equivalente da sua linguagem para um mapa de caractere para nó).
  • isEndOfWord definido 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;
}

Todas as lições de Tries - Série de Estruturas de Dados #8