المكدسات لمطابقة الأقواس
التحقق من الأقواس باستخدام مكدس
المكدسات لمطابقة الأقواس درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
آخر ما يدخل، أول ما يخرج
المكدس هو مجموعة تكون فيها آخر قيمة تضيفها هي أول قيمة تزيلها، تمامًا مثل تكديس الأطباق. 🍽️
قوائم Python هي مكدسات
لا تحتاج في Python إلى فئة خاصة. فقائمة list العادية تعمل أصلًا كمكدس سريع وجاهز للاستخدام في المسابقات.
stack = []الإضافة باستخدام append
لإضافة عنصر إلى أعلى المكدس، استدعِ append، التي تضع القيمة في نهاية القائمة خلال O(1).
stack.append('(')
stack.append('[')الإزالة من القمة
يؤدي استدعاء pop دون فهرس إلى إزالة آخر عنصر وإرجاعه، أي العنصر الذي أُضيف إلى المكدس مؤخرًا.
top = stack.pop() # removes '['الاطلاع دون إزالة
للاطلاع على العنصر الموجود في القمة دون إزالته، اقرأ ببساطة stack[-1]. ويكون هذا الاطلاع مفيدًا قبل اتخاذ قرار الإزالة.
if stack:
top = stack[-1]تحقق دائمًا من الفراغ
تؤدي إزالة عنصر من مكدس فارغ إلى حدوث خطأ. لذلك تحقّق قبل كل عملية إزالة باستخدام if stack حتى لا يتعطل حلك.
فكرة مطابقة الأقواس
تتداخل الأقواس بطريقة مثالية، ولذلك يناسبها المكدس بشدة. أدخل كل قوس فتح، ويجب أن يطابق القوس الغلق قمة المكدس.
ربط قوس الغلق بقوس الفتح
احتفظ بـ قاموس صغير يربط كل قوس غلق بقوس الفتح الذي يتوقعه، لتبقى عمليات التحقق واضحة.
pairs = {')': '(', ']': '[', '}': '{'}افحص واتخذ القرار
مرّر على السلسلة مرة واحدة. أدخل أقواس الفتح، وعند قوس الغلق قارنه بالقمة التي أخرجتها باستخدام خريطة pairs.
for c in s:
if c in pairs.values():
stack.append(c)عدم التطابق يعني أن السلسلة غير صالحة
إذا لم يطابق قوس الفتح المُخرج القوس المتوقع، أو كان المكدس فارغًا عند الحاجة إليه، فالسلسلة غير صالحة فورًا.
elif not stack or stack.pop() != pairs[c]:
return Falseالمكدس الفارغ في النهاية
يعني بقاء قوس فتح بعد الفحص أن شيئًا ما لم يُغلق. ولا تكون السلسلة صالحة إلا عندما يصبح المكدس فارغًا تمامًا.
return not stackتحقق سريع
أنت تتحقق من الأقواس باستخدام مكدس. ماذا يخبرك بقاء المكدس غير فارغ في النهاية تمامًا؟
مراجعة: المكدسات تروّض الأقواس
تعلمت أن القائمة تعمل كمكدس: أدخل أقواس الفتح، وأخرج عنصرًا عند أقواس الغلق، ويعني فراغ المكدس في النهاية أن الأقواس متوازنة. أحسنت! 🎉
الأسئلة الشائعة
هل درس «المكدسات لمطابقة الأقواس» مجاني؟
نعم — نص درس «المكدسات لمطابقة الأقواس» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
ماذا ستتعلم في «المكدسات لمطابقة الأقواس»؟
التحقق من الأقواس باستخدام مكدس تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟
لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «المكدسات لمطابقة الأقواس»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟
نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المكدسات لمطابقة الأقواس
- المكدس الرتيب: العنصر الأكبر التالي
- قوائم الانتظار وcollections.deque
- أقصى قيمة في النافذة المنزلقة باستخدام Deque