אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2023 · אביב מועד א · שאלה 5כל שאלות המבחן ←
מבנים לינארייםרשימות מקושרות

"מרחק" של ערך בשרשרת = סכום המרחקים הקטנים ביותר של מופע שלו משני קצוות השרשרת (לא בהכרח אותו מופע). דוגמה: השרשרת 4,9,3,7,9,9,7,7,2,9 — מרחק של 7 הוא 5, מרחק של 3 הוא 9.

השרשרת lst שבדוגמאות: 4,9,3,7,9,9,7,7,2,9 (10 חוליות). דוגמה 1: ה"מרחק" של 7 הוא 5 (3 מתחילת השרשרת ו-2 עד לסוף). דוגמה 2: ה"מרחק" של 3 הוא 9 (2 מתחילת השרשרת ו-7 עד לסוף).

lst → 4 → 9 → 3 → 7 → 9 → 9 → 7 → 7 → 2 → 9 → null
מקום:    1    2   3   4   5   6   7   8   9   10
סעיף א

כתבו פעולה המקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומספר num, ומחזירה את ה"מרחק" של המספר num. אם num לא נמצא בשרשרת, הפעולה תחזיר 1-.

public static int Distance(Node<int> lst, int num)

סעיף ב

כתבו פעולה המקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומחזירה את המספר בעל ה"מרחק" הקטן ביותר. עבור השרשרת שבדוגמה הפעולה תחזיר 9 (ה"מרחק" של הערך 9 הוא הקטן ביותר).

public static int MinDistanceValue(Node<int> lst)

סעיף ג

מהן סיבוכיות הפעולות distance ו-minDistanceValue מסעיפים א' ו-ב'? הסבירו את תשובתכם.

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

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

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

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