تقييم الدرس 20
من O(n²) إلى O(n)
أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس
أسئلة التقييم
تقييم الدرس 20: من O(n²) إلى O(n). إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) ماذا يطبع البرنامج؟
a = [3, 5, 2]p = [0]for x in a: p.append(p[-1] + x)print(p)
2) بالمجاميع التراكمية
p السابقة، مجموع العنصرين الأخيرين:3) أفضل تعقيد لمعرفة هل في القائمة رقمان مجموعهما 100:
4) مجموع أعلى 3 أيام متتالية في
[4, 1, 6, 3, 2, 7]:5) أول خطوة قبل التحسين:
2السؤال الثاني: صح أم خطأ
1) النافذة المنزلقة تعيد جمع كل النافذة عند كل خطوة.
الصواب: خطأ
2) أسلوب المؤشرين من الطرفين يعمل على القوائم المرتبة.
الصواب: صح
3) التحسين الصحيح يعطي النتيجة نفسها للحل البسيط.
الصواب: صح
4)
in على set داخل حلقة يجعل الحل O(n²).الصواب: خطأ
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
1) حساب
prefix يتم مرة واحدة بتعقيد .الإجابة:
O(n)2) عند انزلاق النافذة نضيف العنصر الداخل و .
الإجابة: نطرح الخارج
3) للبحث عن «المكمّل»
target - p بسرعة نستخدم .الإجابة: set
4السؤال الرابع: أسئلة عملية
1) ما ناتج البرنامج؟
a = [2, 7, 4, 9, 1]k = 2w = a[0] + a[1]best = wfor i in range(k, len(a)): w += a[i] - a[i - k] best = max(best, w)print(best)
الناتج الصحيح:Shell×
13
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».