שאלת מבחן במבוא למדעי המחשב - אוניברסיטת בר-אילן 2024 - מעקב אחר קוד
התכנית הבאה מתקמפלת ורצה.
(4 נק') מה פלט התכנית?
(4 נק') מה סיבוכיות התכנית ב-? (הציגו את הנוסחה, הראו את דרך הפתרון ואת התוצאה הסופית)
(4 נק') מה פלט התכנית?
(4 נק') מה סיבוכיות התכנית ב-? (הציגו את הנוסחה, הראו את דרך הפתרון ואת התוצאה הסופית)
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א2024סמסטר א
★★★★★
מעקב אחר קודרקורסיהסיבוכיות זמןמיוןמערכים
הפונקציה מבצעת swap בין x[i] ו-x[j] אם הם לא בסדר, ואז קוראת רקורסיבית על 3/4 הראשונים ו-3/4 האחרונים של הטווח. תנאי העצירה: כשהטווח קטן מ-4 אלמנטים.
פלט:
f(b, 0, 5): b = {1, 33, 22, 4, 2, 66}
f(b, 0, 4): b[0]=1 < b[4]=2, no swap. (0+3)≥4? No. b=1.
f(b, 1, 5): b[1]=2 < b[5]=66, no swap. (1+3)≥5? No. b=1.
תוצאה:
סיבוכיות: . שתי קריאות רקורסיביות, כל אחת על גודל . עבודה בכל קריאה.
Master Theorem: , .
→ מקרה 1:
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: