ورقة عمل الخوارزميات والتعقيد مع الإجابات

ورقة عمل مجانية قابلة للطباعة في الخوارزميات والتعقيد: 8 مسألة من السهل إلى مستوى الامتحان، مع مفتاح الإجابات. اطبعها أو احفظها بصيغة PDF.

للمعلمين: يمكن طباعتها ونسخها واستخدامها في الصف مجانًا. كل ورقة عمل جديدة لها قيم جديدة ومفتاح إجابات خاص بها. نقدّر إضافة رابط إلى ExamProblems في صفحة مقررك.

الاسم: ____________________   التاريخ: ____________

1.سهلة

تستغرق خوارزمية O(n) ثلاث ثوانٍ عند n = مليون. كم تستغرق تقريبًا عند n = مليونين؟

  1. A12 ثانية
  2. B9 ثوانٍ
  3. C3 ثوانٍ
  4. D6 ثوانٍ
2.سهلة

ما التذكير (Memoisation)؟

  1. Aتخزين نتائج استدعاءات الدوال ليُجاب عن الاستدعاءات المكررة من الذاكرة
  2. Bتحويل العودية إلى حلقة مكافئة تلقائيًا فلا حاجة إلى مكدّس استدعاءات
  3. Cكتابة تعليقات بجانب كل سطر من الشيفرة
  4. Dتحرير الذاكرة بعد عودة الدالة
3.سهلة

ما التعقيد المعتاد لخوارزمية فيها حلقتان متداخلتان تُنفَّذ كل منهما n مرة؟

  1. AO(n²)
  2. BO(2n)
  3. CO(log n)
  4. DO(n)
4.متوسطة

لماذا تنتقل روتينات فرز كثيرة في المكتبات إلى الفرز بالإدراج للمصفوفات الفرعية الصغيرة جدًا؟

  1. Aلأن كلفته الإضافية ضئيلة وهو سريع على المدخلات الصغيرة أو شبه المرتبة
  2. Bلأن الخوارزميات العودية لا تتعامل مع مصفوفات أقل من 10 عناصر
  3. Cلأن الفرز بالإدراج يستهلك ذاكرة أقل من أي خوارزمية فرز أخرى على المدخلات الكبيرة
  4. Dلأن الفرز بالإدراج O(n log n) في أسوأ الحالات
5.متوسطة

تكون البرمجة الديناميكية مفيدة عندما تحتوي المسألة على:

  1. Aلا مسائل فرعية على الإطلاق، فيمكن حلها في خطوة واحدة
  2. Bحلقة واحدة
  3. Cمسائل فرعية متداخلة وبنية فرعية مثلى
  4. Dمدخلات عشوائية فقط
6.متوسطة

ماذا تحسب خوارزمية Floyd–Warshall، وبأي سرعة؟

  1. Aترتيبًا طوبولوجيًا في O(V²)
  2. Bشجرة امتداد صغرى في O(E log V)
  3. Cأقصر المسارات بين كل أزواج الرؤوس في O(V³)
  4. Dأقصر المسارات من رأس مصدر واحد إلى سائر الرؤوس في O(V + E)
7.صعبة

أي من مسائل الإرضاء هذه معروف أنه قابل للحل في زمن كثير حدود؟

  1. ASAT العامة على صيغ في الصيغة العادية العطفية
  2. Bإرضاء الدارات
  3. C2-SAT، حيث يحتوي كل بند على حرفيّين (literals) على الأكثر
  4. D3-SAT، حيث يحتوي كل بند على ثلاثة حرفيّات بالضبط
8.صعبة

ما التعقيد الزمني لـ: for i = 1 to n: for (j = i; j ≤ n; j = j + i) نفّذ عملًا O(1)؟

  1. AO(n)
  2. BO(n²)
  3. CO(n √n)
  4. DO(n log n)

مفتاح الإجابات

  1. 1. D · 6 ثوانٍ
  2. 2. A · تخزين نتائج استدعاءات الدوال ليُجاب عن الاستدعاءات المكررة من الذاكرة
  3. 3. A · O(n²)
  4. 4. A · لأن كلفته الإضافية ضئيلة وهو سريع على المدخلات الصغيرة أو شبه المرتبة
  5. 5. C · مسائل فرعية متداخلة وبنية فرعية مثلى
  6. 6. C · أقصر المسارات بين كل أزواج الرؤوس في O(V³)
  7. 7. C · 2-SAT، حيث يحتوي كل بند على حرفيّين (literals) على الأكثر
  8. 8. D · O(n log n)

حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.