Trie Sınıfı
Coddy'nin Trie - Veri Yapıları Serisi #8 kursunda ders 4 / 14.
Trie sınıfının kendisi oldukça incedir: bir TrieNode olan tek bir alana, root alanına sahiptir. Her ekleme, arama ve bakma işlemi bu kökten başlar ve ağaçta her seferinde bir karakter ilerleyerek aşağı iner.
Yapıcı metot (constructor), kök için yeni bir TrieNode oluşturur. Bu kökün henüz hiç çocuğu yoktur ve herhangi bir kelimenin sonu olarak işaretlenmemiştir, bu nedenle trie boş olarak başlar. Sonraki derslerde ekleyeceğimiz metotlar, ondan yeni çocuklar türetecektir.
Görev
KolayGirdi almayan bir constructor (yapıcı metot) içeren bir Trie sınıfı yazın.
root adında tek bir alanı, yeni bir TrieNode (önceki derste yazdığınız sınıfı kullanarak) olarak başlatın.
Kendin dene
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "trie.h"
int main() {
Trie t;
Trie_init(&t);
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
line[strcspn(line, "\r\n")] = '\0';
char* cmd = strtok(line, " \t");
if (!cmd) continue;
if (strcmp(cmd, "rootIsEmpty") == 0) { printf("%s\n", TrieNode_childrenCount(t.root) == 0 ? "true" : "false"); }
}
return 0;
}