طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 101 · تركيب البيانات والخوارزميات
تقييم الدرس 10

تعقيد الحلقات والتعقيد اللوغاريتمي

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 10: تعقيد الحلقات والتعقيد اللوغاريتمي. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) ما تعقيد الكود؟
main.py
for i in range(n):    j = 1    while j < n:        j *= 2
2) ما تعقيد الكود؟
main.py
for i in range(n):    if a[i] in b_list:        print(a[i])
3) أي عملية O(1) على القائمة؟
4) تعقيد فيبوناتشي العودي الساذج:
5) عدد مستويات تقسيم الدمج لقائمة من 1024 عنصرًا تقريبًا:

2السؤال الثاني: صح أم خطأ

1) x in my_set تعقيدها O(1) في المتوسط.
الصواب: صح
2) حلقتان متداخلتان تبدأ الداخلية من i + 1 تعقيدهما O(n log n).
الصواب: خطأ
3) التقطيع a[i:j] ينسخ العناصر.
الصواب: صح
4) المضروب العودي تعقيده O(2ⁿ).
الصواب: خطأ

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) حلقة يتضاعف متغيرها حتى n تعقيدها .
الإجابة: O(log n)
2) عدد أزواج n عنصر بلا تكرار يساوي n(n−1) ÷ .
الإجابة: 2
3) pop(0) على القائمة تعقيدها .
الإجابة: O(n)

4السؤال الرابع: أسئلة عملية

1) ما ناتج البرنامج؟

main.py
c = 0n = 6for i in range(n):    for j in range(i + 1, n):        c += 1print(c)
الناتج الصحيح:
Shell×
15

2) ما ناتج البرنامج؟

main.py
i, steps = 1, 0while i < 100:    i *= 3    steps += 1print(i, steps)
الناتج الصحيح:
Shell×
243 5
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس