TrieNode Sınıfı
Coddy'nin Trie - Veri Yapıları Serisi #8 kursunda ders 3 / 14.
Bir trie'deki her düğüm, iki parça bilgi tutan küçük bir nesnedir: kendisine bağlı olan children (bir karakterden bir sonraki düğüme giden bir eşleme) ve kökten bu düğüme giden yolun tam bir eklenmiş kelimeyi heceleyip hecelemediğini işaret eden bir isEndOfWord bayrağı.
Sınıfın tamamı budur. Değer yok, anahtar yok: bir düğümün ağaçtaki konumu onun anlamıdır. Kökten c, a, t olarak etiketlenmiş kenarlardan oluşan bir yol, "cat" eklediğimizde isEndOfWord = true olarak ayarladığımız düğüme ulaşır.
Bu TrieNode sınıfını oluşturarak başlayalım - bir sonraki dersteki Trie sınıfı bunu kullanacak.
Görev
KolayGirdi almayan bir constructor (yapıcı metot) içeren bir TrieNode sınıfı yazın.
İki alanı başlatın:
childrenalanını boş bir map (veya dilinizdeki karakterden düğüme eşleme yapan karşılığı) olarak ayarlayın.isEndOfWordalanını false olarak ayarlayın.
Kendin dene
#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;
}