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

ما هو الـ Trie؟

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

تُعد تري (trie) (تُنطق "try"، وهي اختصار لكلمة retrieval أي استرجاع) هيكل بيانات على شكل شجرة مصمم لتخزين والبحث عن السلاسل النصية من خلال أحرفها. يتم تمييز كل حافة في الشجرة بحرف واحد، وكل مسار من الجذر وصولاً إلى عقدة محددة يمثل كلمة واحدة مخزنة.

يجعل هذا الهيكل الأسئلة المتعلقة بالبادئات (prefixes) سريعة للغاية. فالتحقق مما إذا كانت الـ trie تحتوي على أي كلمة تبدأ بـ "car" يتطلب ثلاث عمليات بحث عن الأحرف فقط من الجذر، بغض النظر عن عدد آلاف الكلمات المخزنة. تُعد هياكل الـ trie المحرك وراء ميزات مثل الإكمال التلقائي، والتدقيق الإملائي، وجداول توجيه IP.

تحتوي كل عقدة (node) في الـ trie على قطعتين من الحالة:

  • children: خريطة من حرف إلى الـ TrieNode التالي.
  • isEndOfWord: علامة تكون قيمتها true عندما يمثل المسار من الجذر إلى هذه العقدة كلمة كاملة تم إدراجها.

 

العمليات الخمس الرئيسية في الـ trie هي:

  1. Insert: إضافة كلمة، مع إنشاء أي عقد مفقودة على طول المسار.
  2. Search: التحقق مما إذا كانت هناك كلمة كاملة مخزنة.
  3. StartsWith: التحقق مما إذا كانت أي كلمة مخزنة تبدأ بالبادئة المعطاة.
  4. Delete: إزالة كلمة وتقليم أي فروع ميتة.
  5. WordCount: عد الكلمات الفريدة المخزنة.

 

لنقم ببناء فئة Trie!

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

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