שאלת מבחן במבוא למדעי המחשב - אוניברסיטת בר-אילן 2024 - מעקב אחר קוד

התכנית הבאה מתקמפלת ורצה.



(4 נק') מה פלט התכנית?

(4 נק') מה סיבוכיות התכנית ב-? (הציגו את הנוסחה, הראו את דרך הפתרון ואת התוצאה הסופית)
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א2024סמסטר א
מעקב אחר קודרקורסיהסיבוכיות זמןמיוןמערכים
הפונקציה מבצעת swap בין x[i] ו-x[j] אם הם לא בסדר, ואז קוראת רקורסיבית על 3/4 הראשונים ו-3/4 האחרונים של הטווח. תנאי העצירה: כשהטווח קטן מ-4 אלמנטים.
פלט:

f(b, 0, 5): b = {1, 33, 22, 4, 2, 66}
  • b[0]=1 < b[5]=66, no swap.
  • (0+3)≥5? No. b = (5-0+1)/4 = 1.
  • f(b, 0, 4) → f(b, 1, 5)


f(b, 0, 4): b[0]=1 < b[4]=2, no swap. (0+3)≥4? No. b=1.
  • f(b, 0, 3): 1 < 4, no swap. (0+3)≥3? Yes, return.
  • f(b, 1, 4): b[1]=33 > b[4]=2 → swap → b = {1, 2, 22, 4, 33, 66}. (1+3)≥4? Yes, return.


f(b, 1, 5): b[1]=2 < b[5]=66, no swap. (1+3)≥5? No. b=1.
  • f(b, 1, 4): 2 < 33, no swap. (1+3)≥4? Yes, return.
  • f(b, 2, 5): 22 < 66, no swap. (2+3)≥5? Yes, return.


תוצאה: 1 2 22 4 33 66

סיבוכיות: . שתי קריאות רקורסיביות, כל אחת על גודל . עבודה בכל קריאה.



Master Theorem: , .

מקרה 1:

שאלת מבחן במבוא למדעי המחשב - אוניברסיטת בר-אילן 2024 | prepd