NTF Hub — دورة هياكل البيانات
Stack · Queue · Linked List · BST
الوحدة الخامسة: Binary Search Tree

البحث الذكي: Linked List ضد BST

13 / 16 Search تطبيق مباشر بالمحاكي

تقارن بين البحث الخطي والبحث داخل BST.

أهداف الدرس

  • تفهم لماذا BST قد تكون أسرع.
  • تميّز O(n) عن O(log n) بشكل بصري.
  • تتعلم أن السرعة تعتمد على شكل البيانات.

القصة

عندك قائمة أرقام طويلة. في Linked List يجب أن تمر غالبًا عنصرًا عنصرًا. في BST تسأل سؤالًا ذكيًا كل مرة: هل الرقم أصغر أم أكبر؟ فتتخلص من نصف الطريق تقريبًا.

الفكرة البرمجية

البحث في Linked List خطي O(n) لأنه لا توجد طريقة للقفز للعنصر المطلوب. في BST المتوازنة، كل خطوة تختار فرعًا واحدًا وتترك الفرع الآخر.

تخيلها بصريًا

في BST: تبحث عن 60. تبدأ 50: 60 أكبر، اذهب يمينًا. تصل 70: 60 أصغر، اذهب يسارًا. تصل 60.

قارن عمليًا

  1. في Linked List أضف 20,30,40,50,60 ثم Search(60).
  2. لاحظ أنه يمر على عدة عقد.
  3. في BST أدخل 50,30,70,60 ثم Search(60).
  4. لاحظ أن الطريق أقصر.
افتح المحاكي ←

تحدي الدرس

متى قد تصبح BST سيئة مثل Linked List؟ فكر قبل الدرس التالي.

تحقق سريع

  1. لماذا Linked List بحثها O(n)؟
    الإجابة: لأنها تمر من عقدة إلى التالية
  2. ما ميزة BST المتوازنة؟
    الإجابة: تقلل عدد الخطوات أثناء البحث