1.سهلة
ماذا تفعل دالة التجزئة في جدول التجزئة؟
- Aتعدّ المفاتيح المخزّنة
- Bتشفّر القيم في الجدول
- Cتربط المفتاح بفهرس في الجدول
- Dترتب المفاتيح في الجدول
2.سهلة
أي عملية تكون O(1) للمصفوفة لكن O(n) للقائمة المترابطة الأحادية؟
- Aقراءة العنصر الأول
- Bالإدراج في الرأس
- Cالوصول إلى العنصر ذي الفهرس i
- Dإزالة عنصر الرأس
3.سهلة
ما اسم عملية المكدس التي تضيف عنصرًا إلى القمة؟
- APop
- BPush
- CPeek
- DEnqueue
4.متوسطة
أي بنية بيانات يستخدمها البرنامج قيد التشغيل لتتبع استدعاءات الدوال النشطة ومتغيراتها المحلية؟
- Aشجرة بحث ثنائية للإطارات
- Bمكدس الاستدعاءات (call stack)
- Cطابور ذاكرة الكومة
- Dجدول تجزئة للدوال
5.متوسطة
ما التعقيد الزمني للبحث عن مفتاح في شجرة بحث ثنائية متوازنة؟
- AO(n)
- BO(log n)
- CO(n log n)
- DO(1)
6.متوسطة
ما كلفة إدراج عنصر في منتصف مصفوفة من n عنصر؟
- AO(n)، لأن العناصر اللاحقة يجب أن تُزاح
- BO(log n)، بسبب البحث الثنائي
- CO(1)، لأن الفهرس معروف
- DO(n²)، لأن كل عنصر يتحرك n مرة
7.صعبة
تُستخدم شجرة المقاطع (segment tree) عادةً من أجل:
- Aالإجابة عن استعلامات النطاقات (مثل مجاميع النطاقات) والتحديثات في O(log n)
- Bتخزين حواف مخطط
- Cتنفيذ مكدس
- Dفرز السلاسل النصية أبجديًا بتخزين كل بادئة في عقدة منفصلة من الشجرة
8.صعبة
شجرة Fenwick (الشجرة المفهرسة ثنائيًا) على مصفوفة من n عددًا تدعم أي عمليات في O(log n)؟
- Aإيجاد الوسيط في O(1)
- Bاستعلامات مجموع البادئة وتحديثات العنصر الواحد
- Cفرز المصفوفة والبحث الثنائي
- Dإدراج العناصر في أي موضع
مفتاح الإجابات
- 1. C · تربط المفتاح بفهرس في الجدول
- 2. C · الوصول إلى العنصر ذي الفهرس i
- 3. B · Push
- 4. B · مكدس الاستدعاءات (call stack)
- 5. B · O(log n)
- 6. A · O(n)، لأن العناصر اللاحقة يجب أن تُزاح
- 7. A · الإجابة عن استعلامات النطاقات (مثل مجاميع النطاقات) والتحديثات في O(log n)
- 8. B · استعلامات مجموع البادئة وتحديثات العنصر الواحد
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.