1.سهلة
أي مما يلي ينمو بأبطأ ما يمكن عندما تصبح n كبيرة؟
- AO(n log n)
- BO(n)
- CO(n²)
- DO(log n)
2.سهلة
تستغرق خوارزمية O(n²) ثانية واحدة عند n = 1000. كم تستغرق تقريبًا عند n = 2000؟
- Aثانيتين
- B8 ثوانٍ
- Cثانية واحدة
- D4 ثوانٍ
3.سهلة
أي ترميز يصف حدًا أدنى للنمو؟
- AΘ (ثيتا الكبير)
- BΩ (أوميغا الكبير)
- CO (O الكبير)
- Do (o الصغير)
4.متوسطة
ما التعقيد الزمني لخوارزمية البرمجة الديناميكية القياسية لأطول تتابع جزئي مشترك لسلسلتين طولهما m وn؟
- AO(mn)
- BO(2m+n)
- CO(m + n)
- DO(mn log n)
5.متوسطة
هل يصح القول إن خوارزمية O(n²) هي أيضًا O(n³)؟
- Aلا، لأن n³ أصغر من n² عندما تكون n كبيرة
- Bنعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
- Cنعم، لكن فقط إذا كانت n أصغر من 100
- Dلا، لأن O الكبير يجب أن يذكر دائمًا معدل النمو الدقيق للدالة
6.متوسطة
لماذا لا تعطي البرمجة الديناميكية تسريعًا حقيقيًا للفرز بالدمج؟
- Aلأن الفرز بالدمج ليس له بنية عودية
- Bلأن الفرز بالدمج O(n) أصلًا
- Cلأن البرمجة الديناميكية لا تعمل إلا على مسائل الرسوم البيانية، لا على المصفوفات
- Dلأن مسائله الفرعية لا تتداخل، فلا شيء يُعاد استخدامه
7.صعبة
ما التعقيد الزمني لبناء كومة ثنائية من n عنصر غير مرتب بالطريقة التصاعدية (bottom-up)؟
- AO(n²)
- BO(n)
- CO(log n)
- DO(n log n)
8.صعبة
كيف تكشف خوارزمية Bellman–Ford دورة سالبة الوزن قابلة للبلوغ من المصدر؟
- Aتعدّ الدورات بالبحث بالعمق أولًا
- Bتتحقق مما إذا كانت لأي حافة وزن سالب
- Cتُنفّذ خوارزمية Dijkstra مرتين وتقارن نتيجتَي المسافات
- Dبعد V − 1 جولة تتحقق مما إذا كان يمكن بعدُ إرخاء أي حافة
مفتاح الإجابات
- 1. D · O(log n)
- 2. D · 4 ثوانٍ
- 3. B · Ω (أوميغا الكبير)
- 4. A · O(mn)
- 5. B · نعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
- 6. D · لأن مسائله الفرعية لا تتداخل، فلا شيء يُعاد استخدامه
- 7. B · O(n)
- 8. D · بعد V − 1 جولة تتحقق مما إذا كان يمكن بعدُ إرخاء أي حافة
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.