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

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

الطابور (Queue)

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

مبدأ FIFO

أوّل عنصر يدخل هو أوّل عنصر يخرج (First In, First Out) — مثل صفّ الانتظار.

العمليات

العمليةالوصف
enqueueإضافة في النهاية
dequeueإزالة من البداية
from collections import deque
q = deque()
q.append(1)        # enqueue
q.append(2)
q.popleft()        # 1  (الأوّل يخرج أوّلًا)

💡 نستخدم deque لا list لأن pop(0) على القائمة تكلّف O(n).

أنواع

  • الطابور المزدوج (Deque): إضافة/حذف من الطرفين.
  • طابور الأولويّة (Priority Queue): يخرج العنصر الأعلى أولويّةً أوّلًا (يُبنى على heap).

تطبيقات

  • جدولة المهامّ والطوابير في الأنظمة.
  • اجتياز الرسوم البيانية بالعرض (BFS).
  • طوابير الطباعة والرسائل.

🎯 التالي: جداول التجزئة (Hash Tables).

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