Coding Interview Prep · درس

اكتشاف فشل النهج الجشع

العثور على أمثلة مضادة قبل الوثوق به

الدرس 4 من 413 خطوة

اكتشاف فشل النهج الجشع درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

الخوارزمية الجشعة مغرية

الخوارزمية الجشعة قصيرة وسريعة وتبدو بديهية، وهذا تحديدًا ما قد يوقعك في الفخ. فالفكرة الواضحة ليست بالضرورة صحيحة. ⚠️

فخ تبديل العملات

مع العملات 1 و3 و4، يؤدي تكوين القيمة 6 بطريقة جشعة إلى اختيار 4، ثم الحاجة إلى عملتي 1، أي ما مجموعه ثلاث عملات. أما الحل الأفضل فعلًا فهو عملتا 3.

ما الذي حدث بشكل خاطئ

كانت أكبر عملة مكسبًا محليًا، لكنها منعت الحل الأفضل عالميًا. لم تستطع الخوارزمية الجشعة التراجع عن اختيارها، فأخفقت في الوصول إلى إجابة العملتين.

ابحث عن مثال مضاد

أسرع اختبار لك هو مثال مضاد صغير: مُدخل صغير تختلف فيه نتيجة الخوارزمية الجشعة عن الحل الأمثل الحقيقي. يكفي مثال واحد لرفضها.

حقيبة الظهر 0/1 مجددًا

تفشل الخوارزمية الجشعة المعتمدة على النسبة مع العناصر غير القابلة للتقسيم؛ فقد يزاحم عنصر صغير ذو كثافة عالية عنصرين يتفوقان عليه عند أخذهما معًا. كانت إمكانية التقسيم هي الحرية المفقودة.

عندما تتفاعل الاختيارات

إذا غيّر اختيار عنصر ما العناصر الأخرى التي لا يزال يستحق أخذها، فغالبًا ما تفشل الخوارزمية الجشعة. وتشير التبعيات المتشابكة إلى استخدام البرمجة الديناميكية.

اختبرها تحت الضغط

اكتب حلًا بطيئًا بالقوة الغاشمة ومولّدًا عشوائيًا، ثم قارنهما على آلاف الحالات الصغيرة. يكشف اختلاف واحد الخلل.

for _ in range(10000):
    t = random_case()
    assert greedy(t) == brute(t)

اختبار الاستبدال

للثقة بالخوارزمية الجشعة، حاول إثبات حجة استبدال. إذا لم تستطع إظهار أن الاختيار الجشع ينسجم مع حل أمثل ما، فابقَ متشككًا.

الخوارزمية الجشعة كإجراء فرعي

حتى عندما لا تكون الحل الكامل، يمكن أن تكون الخوارزمية الجشعة لبنة بناء داخل برمجة ديناميكية أو بحث أكبر. استخدمها حيث تكون آمنة بشكل مثبت.

اقرأ القيود

غالبًا ما يعني صِغر N أنك لا تحتاج إلى الخوارزمية الجشعة أصلًا. قد ينجح الحل بالقوة الغاشمة أو بالبرمجة الديناميكية، كما أنهما يتجنبان خطر الخطأ في الصحة تمامًا.

عادة توفر عليك النقاط

قبل إرسال تخمين جشع، خصص دقيقة للبحث عن مثال مضاد. يمنع هذا الفحص الصغير صدور حكم مؤلم بإجابة خاطئة.

فحص سريع

تشك في أن استراتيجية جشعة قد تكون خاطئة.

مراجعة

تفشل الخوارزمية الجشعة عندما يمنع مكسب محلي الحل الأفضل عالميًا، كما يحدث مع بعض مجموعات العملات وحقيبة الظهر 0/1. ابحث عن أمثلة مضادة واختبرها تحت الضغط قبل أن تثق بها. 🚀

البدء مجانًا

تعلم Coding Interview Prep مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
90
الدروس
360

الأسئلة الشائعة

هل درس «اكتشاف فشل النهج الجشع» مجاني؟

نعم — نص درس «اكتشاف فشل النهج الجشع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

ماذا ستتعلم في «اكتشاف فشل النهج الجشع»؟

العثور على أمثلة مضادة قبل الوثوق به تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟

لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «اكتشاف فشل النهج الجشع»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟

نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. العقلية الجشعة
  2. اختيار الأنشطة حسب أقرب وقت انتهاء
  3. حقيبة العناصر الكسرية حسب النسبة
  4. اكتشاف فشل النهج الجشع
← العودة إلى Coding Interview Prep