1.سهلة
ما الخوارزمية؟
- Aأي برنامج حاسوبي له واجهة رسومية
- Bسلسلة منتهية من الخطوات المحددة جيدًا تحل مسألة
- Cبنية بيانات تخزّن الأعداد
- Dلغة برمجة مصممة لكتابة الصيغ الرياضية
2.سهلة
أي ترميز يصف حدًا أدنى للنمو؟
- Ao (o الصغير)
- BO (O الكبير)
- CΘ (ثيتا الكبير)
- DΩ (أوميغا الكبير)
3.سهلة
كم ذاكرة إضافية يستخدمها الفرز بالدمج القياسي المعتمد على المصفوفات؟
- AO(n²)
- BO(1)
- CO(log n)
- DO(n)
4.متوسطة
ترتب مصفوفة من n عنصر مرة واحدة ثم تجيب عن k استعلام عضوية بالبحث الثنائي. ما الكلفة الكلية؟
- AO(n log n + k log n)
- BO(n + k)
- CO(nk)
- DO(k n log n)
5.متوسطة
هل يصح القول إن خوارزمية O(n²) هي أيضًا O(n³)؟
- Aنعم، لكن فقط إذا كانت n أصغر من 100
- Bلا، لأن n³ أصغر من n² عندما تكون n كبيرة
- Cلا، لأن O الكبير يجب أن يذكر دائمًا معدل النمو الدقيق للدالة
- Dنعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
6.متوسطة
ما التعقيد الزمني لخوارزمية البرمجة الديناميكية القياسية لأطول تتابع جزئي مشترك لسلسلتين طولهما m وn؟
- AO(mn)
- BO(2m+n)
- CO(mn log n)
- DO(m + n)
7.صعبة
أي عبارة عن ترميز o الصغير صحيحة؟
- An² = o(n)
- Bn = o(n²)، لكن n ليست o(n)
- Cn = o(n)، لأن كل دالة هي o صغير لنفسها
- D2n = o(n)، لأن 2n تنمو ببطء
8.صعبة
لماذا لا يعطي البحث الثنائي زمن O(log n) على قائمة مترابطة أحادية؟
- Aلأن الوصول إلى العنصر الأوسط يستغرق O(n) خطوة، إذ لا وصول مباشر بالفهرس
- Bلأن البحث الثنائي يحتاج إلى ضعف الذاكرة على الأقل
- Cلأن القوائم المترابطة لا يمكن فرزها
- Dلأن المقارنات على عقد القائمة المترابطة أبطأ
مفتاح الإجابات
- 1. B · سلسلة منتهية من الخطوات المحددة جيدًا تحل مسألة
- 2. D · Ω (أوميغا الكبير)
- 3. D · O(n)
- 4. A · O(n log n + k log n)
- 5. D · نعم، لأن O الكبير حد أعلى وn² لا تنمو أسرع من n³
- 6. A · O(mn)
- 7. B · n = o(n²)، لكن n ليست o(n)
- 8. A · لأن الوصول إلى العنصر الأوسط يستغرق O(n) خطوة، إذ لا وصول مباشر بالفهرس
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.