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

הערה כללית לשאלה:

  • אין להשתמש במבני נתונים נוספים.
  • אפשר להניח שקיימת פעולה sizeQ המחזירה את מספר האיברים בתור. כותרת הפעולה:
public static int sizeQ(Queue<Integer> q)
סעיף א

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

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

public static int valueAt(Queue<Integer> q, int pos)
סעיף ב

כתבו פעולה המקבלת 2 תורים של מספרים שלמים q1 ו-q2. הפעולה תיצור ותחזיר תור חדש לפי כלל הבא:

  • קודם כול מכניסים איבר ראשון מהתור q1, ואחריו – איבר האחרון מהתור q2.
  • איבר 2 מהתור q1, איבר לפני האחרון מהתור q2.
  • וכך הלאה.

אפשר להניח שאורכם של 2 התורים שווה.

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

public static Queue<Integer> merge (Queue<Integer>q1, Queue<Integer>q2)
סעיף ג

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

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

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

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

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