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

חומרי לימוד

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

מיון טבעות על מוט

שאלה קודמתשאלה הבאה
שאלה 4מבני נתונים2016 קיץ מועד א

מיון טבעות על מוט

לפניך המחלקה טבעת - Ring שלה שתי תכונות:

  • גודל הטבעת מטיפוס מחרוזת ("S" - טבעת קטנה, "L" – טבעת גדולה)
  • מספר שלם המייצג את צבע הטבעת.

Java Code:

java
1public class Ring
2{
3    private String size; // גודל הטבעת
4    private int color; // צבע הטבעת
5    public Ring()
6    {
7        this.size = "L";
8        this.color = 0;
9    }
10    public Ring(String str, int c)
11    {
12        this.size = str;
13        this.color = c;
14    }
15    public String getSize()
16    {
17        return this.size;
18    }
19    public int getColor()
20    {
21        return this.color;
22    }
23}

C# Code:

csharp
1public class Ring
2{
3    private string size; // גודל
4    private int color; // צבע הטבעת
5    public Ring()
6    {
7        this.size = "L";
8        this.color = 0;
9    }
10    public Ring(string str, int c)
11    {
12        this.size = str;
13        this.color = c;
14    }
15    public string GetSize()
16    {
17        return this.size;
18    }
19    public int GetColor()
20    {
21        return this.color;
22    }
23}

לפניך ממשק המחלקה מוט Pole:

מפרט המחלקה
פעולה הבונה מוט ריק. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic Pole()
C#public Pole()
פעולה המכניסה טבעת r לראש המוט. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic void add(Ring r)
C#public void Add(Ring r)
פעולה המחזירה את הטבעת שבראש המוט. בנוסף, הפעולה מוציאה את הטבעת מראש המוט. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic Ring remove()
C#public Ring Remove()
אם המוט ריק הפעולה מחזירה true, אחרת היא מחזירה false. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic boolean isEmpty()
C#public bool IsEmpty()
פעולה המסדרת את הטבעות שעל המוט כך: הטבעות הגדולות "מונחות" בתחתית המוט והטבעות הקטנות מעליהן.
Javapublic void sort()
C#public void Sort()

משימות

אמשימה אcode

ממש את הפעולה sort() ב-Java או Sort() ב-C# שבמחלקה Pole. אתה יכול להשתמש בפעולות הנוספות של המחלקה Pole בלי לממש אותן. בתשובתך השתמש רק בפעולות המחלקות Pole ו-Ring.

במשימה בtext

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

שאלה 4מבני נתונים2016 קיץ מועד א

מיון טבעות על מוט

לפניך המחלקה טבעת - Ring שלה שתי תכונות:

  • גודל הטבעת מטיפוס מחרוזת ("S" - טבעת קטנה, "L" – טבעת גדולה)
  • מספר שלם המייצג את צבע הטבעת.

Java Code:

java
1public class Ring
2{
3    private String size; // גודל הטבעת
4    private int color; // צבע הטבעת
5    public Ring()
6    {
7        this.size = "L";
8        this.color = 0;
9    }
10    public Ring(String str, int c)
11    {
12        this.size = str;
13        this.color = c;
14    }
15    public String getSize()
16    {
17        return this.size;
18    }
19    public int getColor()
20    {
21        return this.color;
22    }
23}

C# Code:

csharp
1public class Ring
2{
3    private string size; // גודל
4    private int color; // צבע הטבעת
5    public Ring()
6    {
7        this.size = "L";
8        this.color = 0;
9    }
10    public Ring(string str, int c)
11    {
12        this.size = str;
13        this.color = c;
14    }
15    public string GetSize()
16    {
17        return this.size;
18    }
19    public int GetColor()
20    {
21        return this.color;
22    }
23}

לפניך ממשק המחלקה מוט Pole:

מפרט המחלקה
פעולה הבונה מוט ריק. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic Pole()
C#public Pole()
פעולה המכניסה טבעת r לראש המוט. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic void add(Ring r)
C#public void Add(Ring r)
פעולה המחזירה את הטבעת שבראש המוט. בנוסף, הפעולה מוציאה את הטבעת מראש המוט. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic Ring remove()
C#public Ring Remove()
אם המוט ריק הפעולה מחזירה true, אחרת היא מחזירה false. סיבוכיות זמן הריצה של הפעולה היא O(1).
Javapublic boolean isEmpty()
C#public bool IsEmpty()
פעולה המסדרת את הטבעות שעל המוט כך: הטבעות הגדולות "מונחות" בתחתית המוט והטבעות הקטנות מעליהן.
Javapublic void sort()
C#public void Sort()

משימות

אמשימה אcode

ממש את הפעולה sort() ב-Java או Sort() ב-C# שבמחלקה Pole. אתה יכול להשתמש בפעולות הנוספות של המחלקה Pole בלי לממש אותן. בתשובתך השתמש רק בפעולות המחלקות Pole ו-Ring.

במשימה בtext

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