المصطلحات
- الجذر (Root): العقدة العليا.
- العقدة (Node): عنصر يحوي قيمة وأبناء.
- الورقة (Leaf): عقدة بلا أبناء.
- العمق/الارتفاع: المسافة من/إلى الجذر.
الشجرة الثنائية
كل عقدة لها ابنان كحدّ أقصى (يسار ويمين):
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
الاجتياز (Traversal)
def inorder(node):
if node:
inorder(node.left)
print(node.value)
inorder(node.right)
- Inorder (يسار-جذر-يمين)
- Preorder (جذر-يسار-يمين)
- Postorder (يسار-يمين-جذر)
- Level-order (مستوى بمستوى، يستخدم طابورًا)
تطبيقات
- أنظمة الملفّات، DOM في المتصفّح، شجرة القرار، الفهارس.
🎯 التالي: شجرة البحث الثنائية.