אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2025 · קיץ מועד א · שאלה 2כל שאלות המבחן ←
מבנים לינארייםתורים

public static boolean mmm (Queue<Integer> q, int z) { q.insert (0); int num = q.head(); int y = 0; while (q.head() > 0) { if (y < z) { if (q.head() == num) { y++; } else { num = q.head(); y = 1; } } q.insert (q.remove()); } q.remove(); return y == z; }

public static int what (Queue<Integer> q, int n) { if (mmm (q, n)) return n; return what (q, n - 1); }


עמוד 4 (Java) ועמוד 6 (C#): התור q הנתון לסעיף א

queue q (head on the LEFT, tail on the RIGHT, as the labels ראש התור / סוף התור are printed): | 1 | 3 | 1 | 1 | 1 | 2 | head -> 1, 3, 1, 1, 1, 2 <- tail


עמוד 4 (Java) ועמוד 6 (C#): טבלת המעקב הריקה של סעיף א(1)

טבלת המעקב הריקה של סעיף א (עמודות כפי שהן מודפסות, משמאל לימין על הדף):

התור qnumyy < zq.head() == num

עמוד 5 (Java) ועמוד 7 (C#): התור q הנתון לסעיף ב (זהה לתור של סעיף א)

queue q (head on the LEFT, tail on the RIGHT, as the labels ראש התור / סוף התור are printed): | 1 | 3 | 1 | 1 | 1 | 2 | head -> 1, 3, 1, 1, 1, 2 <- tail


עמוד 5 (Java) ועמוד 7 (C#): טבלת המעקב המוצעת של סעיף ב(1)

טבלת המעקב המוצעת של סעיף ב (עמודות כפי שהן מודפסות, משמאל לימין על הדף):

התור q שמתקבל בפעולההערך n שמתקבל בפעולהmmm (q, n) == trueערך מוחזר
סעיף א(1)

לפניכם הפעולה mmm , המקבלת תור – q ובו מספרים הגדולים מ־0 , ומספר שלם z – הגדול מ־0 . [קוד mmm/Mmm ב-code_context] נתון תור q מטיפוס שלם: [התור ב-figures] עקבו בעזרת טבלת המעקב שלפניכם אחר הפעולה mmm (q , 4) , וכתבו מה הפעולה מחזירה.

mmm (q, 4)

סעיף א(2)

הסבירו מה הפעולה mmm עושה.

סעיף א(3)

מהי סיבוכיות זמן הריצה של הפעולה mmm ? נמקו את תשובתכם.

סעיף ב(1)

לפניכם הפעולה what , המקבלת תור – q ובו מספרים הגדולים מ־0 , ואת גודל התור – n . [קוד what/What ב-code_context] נתון תור – q מטיפוס שלם: [התור ב-figures] עקבו אחר הפעולה what (q, 6) , וכתבו מה הפעולה מחזירה (אין צורך לעקוב אחר הפעולה mmm). המעקב יכלול בכל קריאה את הערכים של q , n ואת הערך המוחזר. לפניכם הצעה לטבלת מעקב (אין חובה להשתמש בטבלה זו).

סעיף ב(2)

הסבירו מה הפעולה what עושה.

סעיף ב(3)

מהי סיבוכיות זמן הריצה של הפעולה what ? נמקו את תשובתכם.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי