1.سهلة
ماذا يعني أن عملية تُنفَّذ في زمن O(1)؟
- Aأن زمن تنفيذها لا ينمو مع حجم المدخلات
- Bأنها تستغرق ثانية واحدة بالضبط دائمًا
- Cأنها تعالج عنصرًا واحدًا بالضبط في كل ثانية من زمن التشغيل
- Dأنها لا يمكن تنفيذها إلا مرة واحدة
2.سهلة
ما العودية (Recursion)؟
- Aحلقة لا تنتهي أبدًا
- Bطريقة فرز
- Cدالة تستدعي نفسها على مدخلات أصغر
- Dنوع من بنى البيانات
3.سهلة
ما قيمة log₂ 1024؟
- A512
- B12
- C10
- D32
4.متوسطة
لماذا يُحذف أساس اللوغاريتم عادةً في O الكبير، كما في O(log n)؟
- Aلأن اللوغاريتمات تُقرَّب دائمًا إلى أعداد صحيحة
- Bكل اللوغاريتمات في علوم الحاسوب أساسها 10، فهو مفهوم ضمنًا
- Cلأن الأساس لا يهم إلا عندما تكون n صغيرة
- Dلأن اللوغاريتمات ذات الأسس المختلفة لا تختلف إلا بمعامل ثابت
5.متوسطة
ما حل علاقة التكرار T(n) = T(n/2) + O(1)؟
- AO(log n)
- BO(n log n)
- CO(n)
- DO(1)
6.متوسطة
ما التعقيد الزمني لـ: for i = 1 to n: (j = 1; while j < n: j = j × 2)؟
- AO(n log n)
- BO(log n)
- CO(n)
- DO(n²)
7.صعبة
أي عبارة عن ترميز o الصغير صحيحة؟
- A2n = o(n)، لأن 2n تنمو ببطء
- Bn² = o(n)
- Cn = o(n)، لأن كل دالة هي o صغير لنفسها
- Dn = o(n²)، لكن n ليست o(n)
8.صعبة
ما التعقيد الزمني لـ: for i = 1 to n: for (j = i; j ≤ n; j = j + i) نفّذ عملًا O(1)؟
- AO(n)
- BO(n √n)
- CO(n log n)
- DO(n²)
مفتاح الإجابات
- 1. A · أن زمن تنفيذها لا ينمو مع حجم المدخلات
- 2. C · دالة تستدعي نفسها على مدخلات أصغر
- 3. C · 10
- 4. D · لأن اللوغاريتمات ذات الأسس المختلفة لا تختلف إلا بمعامل ثابت
- 5. A · O(log n)
- 6. A · O(n log n)
- 7. D · n = o(n²)، لكن n ليست o(n)
- 8. C · O(n log n)
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.