מחלקת Trie
שיעור 4 מתוך 14 בקורס טריות (עצי קידומות) – סדרת מבני נתונים מס׳ 8 של Coddy.
המחלקה Trie עצמה פשוטה מאוד: יש לה שדה יחיד, root, שהוא TrieNode. כל הוספה, חיפוש ואחזור מתחילים מהשורש הזה ומתקדמים במורד העץ, תו אחד בכל פעם.
הבנאי יוצר TrieNode חדש עבור השורש. עדיין אין לשורש הזה צאצאים, והוא אינו מסומן כסוף של אף מילה, ולכן הטרייה מתחילה ריקה. המתודות שנוסיף בשיעורים הבאים יוסיפו לו צאצאים.
אתגר
קלכתבו מחלקה Trie עם בנאי שאינו מקבל קלט.
אתחלו שדה יחיד 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;
}
כל השיעורים ביחידה טריות (עצי קידומות) – סדרת מבני נתונים מס׳ 8
תרגלו בעצמכם: קומפיילר C אונליין