הגדרה: קבוצת מספרים – SetOfNumbers – היא אוסף של מספרים, כאשר כל מספר יכול להופיע בקבוצה פעם אחת בלבד. אין חשיבות לסדר המספרים בקבוצה.

לפניכם ממשק חלקי של המחלקה SetOfNumbers המייצגת קבוצת מספרים שלמים.

כותרת הפעולהתיאור הפעולה
public SetOfNumbers()הפעולה בונה קבוצת מספרים ריקה
public void addToSet(int num)הפעולה מוסיפה לקבוצה את המספר num, אם המספר לא נמצא בקבוצה. אם המספר num כבר נמצא בקבוצה, הפעולה לא עושה דבר.
public int removeRandom()הפעולה מחזירה באופן אקראי אחד מאיברי הקבוצה ומוחקת אותו מהקבוצה. הנחה: הקבוצה לא ריקה.
public boolean isEmpty()הפעולה מחזירה true אם הקבוצה הנוכחית ריקה, אחרת – הפעולה מחזירה false

סיבוכיות של כל הפעולות האלה O(1).

שימו לב! מימוש של המחלקה SetOfNumbers לא ידוע, אפשר להשתמש אך ורק בפעולות הנתונות בממשק!

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

כותרת הפעולה:
```java
public int sizeOfSet()
```
(ב)כתבו במחלקה SetOfNumbers פעולה פנימית המחזירה את המספר הקטן ביותר בקבוצה ומוחקת אותו מהקבוצה.
הנחה: הקבוצה לא ריקה.

כותרת הפעולה:
```java
public int removeMin()
```
(ג)כתבו פעולה חיצונית המקבלת שתי קבוצות sn1 ו-sn2. הפעולה תחזיר true אם כל האיברים בקבוצה sn1 גדולים מכל האיברים בקבוצה sn2, אם לא – הפעולה תחזיר false. יש לשמור על הקבוצה אחרי ביצוע הפעולה.
הנחה: הקבוצות לא ריקות.

כותרת הפעולה:
```java
public static boolean bigger(SetOfNumbers sn1, SetOfNumbers sn2)
```
(ד)מהן הסיבוכיות של הפעולות שכתבתם בסעיפים א'–ג'? הסבירו את תשובתכם.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←