O que é uma Trie?
Lição 2 de 14 do curso Tries - Série de Estruturas de Dados #8 da Coddy.
Uma trie (pronunciada "try", abreviação de retrieval) é uma estrutura de dados em forma de árvore construída para armazenar e pesquisar strings por seus caracteres. Cada aresta na árvore é rotulada com um único caractere, e cada caminho da raiz até um nó marcado soletra uma palavra armazenada.
Essa estrutura torna as consultas de prefixo extremamente rápidas. Verificar se a trie contém qualquer palavra começando com "car" são apenas três buscas de caracteres a partir da raiz, não importa quantos milhares de palavras estejam armazenadas. Tries são o motor por trás de recursos como preenchimento automático, verificação ortográfica e tabelas de roteamento IP.
Cada nó na trie contém dois estados:
children: um mapa de um caractere para o próximoTrieNode.isEndOfWord: uma flag que étruequando o caminho da raiz até este nó soletra uma palavra completa que foi inserida.
As cinco principais operações em uma trie são:
- Insert: Adiciona uma palavra, criando quaisquer nós ausentes ao longo do caminho.
- Search: Verifica se uma palavra completa está armazenada.
- StartsWith: Verifica se alguma palavra armazenada possui o prefixo fornecido.
- Delete: Remove uma palavra e poda quaisquer ramos mortos.
- WordCount: Conta quantas palavras distintas estão armazenadas.
Vamos construir uma classe Trie!
Experimente você mesmo
Esta lição não inclui um desafio de código.