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

סעיף א

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

לדוגמה: עבור השרשרת שלפניכם (10, 14, 6, 4, 10, 3, 14, 14 (מהראש לסוף); p1 מצביע על החוליה השלישית (ערך 6), p2 מצביע על החוליה השישית (ערך 3)) הפעולה תחזיר 23.

כותרת הפעולה:

public static int getSum(Node<Integer> p1, Node<Integer> p2)

אפשר להניח ש-p1 מצביע על חוליה שנמצאת לפני החוליה ש-p2 מצביע עליה.

סעיף ב

כתבו פעולה המקבלת הפניה לחוליה הראשונה של שרשרת חוליות של מספרים שלמים חיוביים ומספר שלם חיובי num. הפעולה תבדוק אם קיים רצף חוליות שסכום הערכים שלהן שווה ל-num. אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.

כותרת הפעולה:

public static boolean isAmount(Node<Integer> ch, int num)

לדוגמה: עבור השרשרת הבאה (ch, מהראש לסוף): 10, 14, 6, 4, 10, 3, 14, 14 עבור num=23 או num=37 הפעולה תחזיר true, עבור num=26 או num=19 הפעולה תחזיר false.

סעיף ג

מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א'–ב'? הסבירו את תשובתכם.

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

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

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

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