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

סעיף א

כתבו פעולה המקבלת הפניה לחוליה הראשונה בשרשרת חוליות של מספרים שלמים ומספר שלם חיובי pos. הפעולה תחזיר איבר שנמצא במקום pos בשרשרת. אם אין מקום pos בשרשרת, הפעולה תחזיר ערך (-1). יש להניח כי המיקום נספר החל מ-1, כאשר pos = 1 מתייחס לחוליה הראשונה.

public static int ValueAt(Node<int> ch, int pos)
סעיף ב

כתבו פעולה המקבלת שתי הפניות לחוליות הראשונות של שתי שרשראות של מספרים שלמים ch1 ו – ch2. הפעולה תיצור שרשרת חדשה לפי הכלל הבא:

  • ראשית מכניסים את האיבר הראשון מהשרשרת ch1, ואחריו – את האיבר האחרון מהשרשרת ch2;
  • מכניסים את האיבר השני מהשרשרת ch1, ואחריו את האיבר שלפני האחרון מהשרשרת ch2;
  • וכך הלאה.

הפעולה תחזיר הפניה לחוליה הראשונה של השרשרת החדשה. אפשר להניח שאורכן של שתי השרשראות שווה. כותרת הפעולה:

public static Node<int> Merge (Node<int>ch1, Node<int>ch2)
סעיף ג

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

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

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

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

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