فئة Trie
الدرس 4 من 14 في دورة Tries - سلسلة هياكل البيانات #8 على Coddy.
فئة Trie نفسها بسيطة للغاية: فهي تمتلك حقلاً واحداً، root، وهو عبارة عن TrieNode. تبدأ كل عملية إدراج وبحث واستعلام من هذا الجذر وتنتقل عبر الشجرة حرفاً واحداً في كل مرة.
يقوم المنشئ (constructor) بإنشاء TrieNode جديد للجذر. لا يمتلك هذا الجذر أي أبناء بعد ولم يتم تمييزه كنهاية لأي كلمة، لذا يبدأ الـ trie فارغاً. الطرق (methods) التي سنضيفها في الدروس القادمة ستعمل على إنماء أبناء منه.
التحدي
سهلاكتب فئة Trie مع منشئ (constructor) لا يأخذ أي مدخلات.
قم بتهيئة حقل واحد root ككائن TrieNode جديد (باستخدام الفئة التي كتبتها في الدرس السابق).
جرّب بنفسك
#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;
}