כתבו פעולה המקבלת שתי הפניות לחוליות שונות בשרשרת חוליות של מספרים שלמים. הפעולה תחזיר את סכום ערכי החוליות הנמצאות בין ההפניות שהתקבלו.
לדוגמה: עבור השרשרת שלפניכם (10, 14, 6, 4, 10, 3, 14, 14 (מהראש לסוף); p1 מצביע על החוליה השלישית (ערך 6), p2 מצביע על החוליה השישית (ערך 3)) הפעולה תחזיר 23.
כותרת הפעולה:
public static int GetSum(Node<int> p1, Node<int> p2)
אפשר להניח ש-p1 מצביע על חוליה שנמצאת לפני החוליה ש-p2 מצביע עליה.
כתבו פעולה המקבלת הפניה לחוליה הראשונה של שרשרת חוליות של מספרים שלמים חיוביים ומספר שלם חיובי num. הפעולה תבדוק אם קיים רצף חוליות שסכום הערכים שלהן שווה ל-num. אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.
כותרת הפעולה:
public static bool IsAmount(Node<int> ch, int num)
לדוגמה: עבור השרשרת הבאה (ch, מהראש לסוף): 10, 14, 6, 4, 10, 3, 14, 14
עבור num=23 או num=37 הפעולה תחזיר true, עבור num=26 או num=19 הפעולה תחזיר false.
מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א'–ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.