تخطَّ إلى المحتوى

🧮 شرح هياكل البيانات والخوارزميات

شجرة البحث الثنائية (BST)

الدرس 13 من 25· ⏱ 1 دقائق قراءة

الخاصّية المميّزة

في كل عقدة: كل القيم في الفرع الأيسر أصغر، وكل القيم في الأيمن أكبر.

        8
       / \
      3   10
     / \    \
    1   6    14

البحث

def search(node, target):
    if not node or node.value == target:
        return node
    if target < node.value:
        return search(node.left, target)
    return search(node.right, target)

نتجاهل نصف الشجرة في كل خطوة → O(log n) للشجرة المتوازنة.

التعقيد

العمليةمتوازنةغير متوازنة
البحث/الإدراج/الحذفO(log n)O(n)

الأشجار المتوازنة

شجرة منحرفة (كقائمة) تفقد الكفاءة. أشجار مثل AVL وRed-Black تحافظ على التوازن تلقائيًا.

🎯 التالي: الأكوام (Heaps).

هل كان هذا الدرس مفيدًا؟