בי מאסטר (Bmaster)מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
תפריט

חומרי לימוד

מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
חזרה למאגר2023 קיץ מועד א

ניהול רשימה ממוינת עם ספירת מופעים

שאלה קודמתשאלה הבאה
שאלה 5מבני נתונים2023 קיץ מועד א

ניהול רשימה ממוינת עם ספירת מופעים

נתונה המחלקה NumCount - מספר ערכים, ולה שתי תכונות:

  • num - ערך מספרי, מטיפוס שלם.
  • count - מספר המופעים של הערך (num), מטיפוס שלם. המספר גדול או שווה ל־ 0. הניחו שקיימות פעולות set/Set get/Get לכל אחת מן התכונות במחלקה, ופעולה בונה המקבלת ערכים עבור תכונות המחלקה.

נתונה המחלקה OrderedList - שרשרת ממוינת, ולה תכונה אחת:

  • lst - מצביע על ראש של שרשרת חוליות מטיפוס NumCount. שרשרת החוליות ממוינת לפי סדר עולה של ערך התכונה - num. ערך התכונה num שונה בכל חוליה.

דוגמה: השרשרת שלפניכם מקיימת את תנאי המחלקה: lst -> [num: 3, count: 9] -> [num: 5, count: 1] -> [num: 8, count: 2] -> null

מפרט המחלקה
הפעולה מוסיפה את הערך של x לשרשרת.
Javapublic void insertNum (int x)
C#public void InsertNum (int x)
הפעולה מקבלת את המספר n, ומחזירה את "ערך המופע ה־ n".
Javapublic int valueN (int n)
C#public int ValueN (int n)

משימות

אמשימה אcode

ממשו במחלקה OrderedList את הפעולה הפנימית insertNum / InsertNum. הפעולה מוסיפה את הערך של x לשרשרת באופן שלפניכם:

  • אם קיימת בשרשרת חוליה שהתכונה num שלה שווה ל־x, הפעולה תגדיל ב־ 1 את התכונה count (כמות המופעים) באותה החוליה.
  • אם השרשרת ריקה או שלא קיימת בשרשרת חוליה שהתכונה num שלה שווה ל־x, הפעולה תכניס חוליה חדשה, שבה התכונה num תהיה שווה ל-x והתכונה count תהיה שווה ל־1, במיקום השומר את הסדר העולה של השרשרת.
במשימה בtext

מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף א(1)? נמקו את תשובתכם.

גמשימה גcode

"ערך המופע ה־ n" הוא הערך שמופיע בַּמָקום ה־ n לפי הסדר מתחילת השרשרת (בשקלול כמות המופעים - count של כל ערך). ממשו במחלקה OrderedList את הפעולה הפנימית valueN / ValueN המקבלת את המספר n, ומחזירה את "ערך המופע ה־ n". הניחו ש"ערך המופע ה־ n" קיים בשרשרת. דוגמה: עבור השרשרת: [3, 4] -> [5, 1] -> [8, 3] -> [10, 1] ו-n=7, הפעולה תחזיר 8. (הסדר: 3,3,3,3,5,8,8,8,10. במקום השביעי 8).

שאלה 5מבני נתונים2023 קיץ מועד א

ניהול רשימה ממוינת עם ספירת מופעים

נתונה המחלקה NumCount - מספר ערכים, ולה שתי תכונות:

  • num - ערך מספרי, מטיפוס שלם.
  • count - מספר המופעים של הערך (num), מטיפוס שלם. המספר גדול או שווה ל־ 0. הניחו שקיימות פעולות set/Set get/Get לכל אחת מן התכונות במחלקה, ופעולה בונה המקבלת ערכים עבור תכונות המחלקה.

נתונה המחלקה OrderedList - שרשרת ממוינת, ולה תכונה אחת:

  • lst - מצביע על ראש של שרשרת חוליות מטיפוס NumCount. שרשרת החוליות ממוינת לפי סדר עולה של ערך התכונה - num. ערך התכונה num שונה בכל חוליה.

דוגמה: השרשרת שלפניכם מקיימת את תנאי המחלקה: lst -> [num: 3, count: 9] -> [num: 5, count: 1] -> [num: 8, count: 2] -> null

מפרט המחלקה
הפעולה מוסיפה את הערך של x לשרשרת.
Javapublic void insertNum (int x)
C#public void InsertNum (int x)
הפעולה מקבלת את המספר n, ומחזירה את "ערך המופע ה־ n".
Javapublic int valueN (int n)
C#public int ValueN (int n)

משימות

אמשימה אcode

ממשו במחלקה OrderedList את הפעולה הפנימית insertNum / InsertNum. הפעולה מוסיפה את הערך של x לשרשרת באופן שלפניכם:

  • אם קיימת בשרשרת חוליה שהתכונה num שלה שווה ל־x, הפעולה תגדיל ב־ 1 את התכונה count (כמות המופעים) באותה החוליה.
  • אם השרשרת ריקה או שלא קיימת בשרשרת חוליה שהתכונה num שלה שווה ל־x, הפעולה תכניס חוליה חדשה, שבה התכונה num תהיה שווה ל-x והתכונה count תהיה שווה ל־1, במיקום השומר את הסדר העולה של השרשרת.
במשימה בtext

מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף א(1)? נמקו את תשובתכם.

גמשימה גcode

"ערך המופע ה־ n" הוא הערך שמופיע בַּמָקום ה־ n לפי הסדר מתחילת השרשרת (בשקלול כמות המופעים - count של כל ערך). ממשו במחלקה OrderedList את הפעולה הפנימית valueN / ValueN המקבלת את המספר n, ומחזירה את "ערך המופע ה־ n". הניחו ש"ערך המופע ה־ n" קיים בשרשרת. דוגמה: עבור השרשרת: [3, 4] -> [5, 1] -> [8, 3] -> [10, 1] ו-n=7, הפעולה תחזיר 8. (הסדר: 3,3,3,3,5,8,8,8,10. במקום השביעי 8).