الرجوع للمكتبةهياكل البيانات · 4 دقائق قراءة

متى تستخدم الطابور ومتى تستخدم المكدس؟

تتبع ترتيب خروج العناصر من Queue وStack على مثال طلبات دعم.

الفكرة ببساطة

الطابور يشبه انتظار دورك في مكتب الخدمة. أول طلب يدخل يكون أول طلب يطلع. هذا الترتيب اسمه FIFO.

المكدس يشبه رص الكتب فوق بعض. آخر كتاب وضعته هو أول كتاب تقدر ترفعه. هذا الترتيب اسمه LIFO، ومن استخداماته التراجع عن آخر إجراء.

مثال محلول

دخلت الطلبات A ثم B ثم C. لو وصل موظف واحد لمعالجة الطلب التالي، وش يطلع من كل هيكل؟

Queue: A → B → C   | remove → A
Stack: A → B → C   | remove → C

في الطابور يبدأ بـ A لأن طلبه الأقدم. في المكدس يبدأ بـ C لأنه آخر عنصر دخل.

انتبه لهالنقطة

قبل تحل، ارسم جهة الإدخال وجهة الإزالة. في الطابور العملي استخدم بنية تدعم الإزالة من المقدمة بكفاءة، مثل deque في Python.

جرّب بنفسك

في طابور، أدخل X ثم Y، أخرج عنصرا، ثم أدخل Z. وش ترتيب العناصر المتبقية من المقدمة للنهاية؟

اعرض الإجابة

يبقى Y ثم Z. خرج X في خطوة الإزالة لأنه دخل قبل Y.

أكمل القراءة

SQL5 دقائق قراءة

كيف تظهر كل الطلاب حتى اللي ما سجلوا؟

استخدم LEFT JOIN وشوف أثر القيم الناقصة على العد.

اقرأ الدرس
Python4 دقائق قراءة

ليش تغيرت القائمة الأولى في بايثون؟

الفرق بين إعطاء القائمة اسم ثاني وإنشاء نسخة منها، بمثال تقدر تشغله.

اقرأ الدرس