Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

فئة TrieNode

الدرس 3 من 14 في دورة Tries - سلسلة هياكل البيانات #8 على Coddy.

كل عقدة في الـ trie هي كائن صغير واحد يحتوي على معلومتين: الـ children المتفرعة منها (خريطة من حرف إلى العقدة التالية) وعلامة isEndOfWord التي تحدد ما إذا كان المسار من الجذر إلى هذه العقدة يمثل كلمة كاملة تم إدخالها.

هذا هو الكلاس بالكامل. لا توجد قيم، ولا مفاتيح: موضع العقدة في الشجرة هو معناها. يصل مسار من الحواف التي تحمل العلامات c و a و t من الجذر إلى العقدة حيث نقوم بتعيين isEndOfWord = true عند إدخال "cat".

لنبدأ ببناء كلاس TrieNode هذا - وسوف يستخدمه كلاس Trie في الدرس القادم.

challenge icon

التحدي

سهل

اكتب فئة TrieNode مع constructor لا يأخذ أي مدخلات.

قم بتهيئة حقلين:

  • children مضبوط على empty map (أو ما يعادلها في لغتك لخريطة character-to-node).
  • isEndOfWord مضبوط على false.

جرّب بنفسك

#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;
}

جميع دروس Tries - سلسلة هياكل البيانات #8