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

חומרי לימוד

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

מעקב אחר אלגוריתם מיון מניה

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

מעקב אחר אלגוריתם מיון מניה

לפניך תכנית הכתובה ב-Java וב-C# הפעולה what ב-Java (או What ב-C#) מקבלת מערך חד־ממדי המכיל מספרים שלמים, ומספר שלם k>0. כל המספרים במערך הם בין 0 ל-k (כולל).

1public class Program
2{
3    public static int[] what(int[] arr, int k)
4    {
5        int n = arr.length;
6        int[] b = new int[n];
7        int[] c = new int[k+1];
8        for (int i=0; i<k+1; i++) c[i]=0;
9        for (int j=0; j <n; j++) c[arr[j]]=c[arr[j]]+1; //*
10        for (int i=1; i <k+1; i++) c[i] = c[i] + c[i-1]; //**
11        for (int j=n-1; j >= 0; j--) //***
12        {
13            b[c[arr[j]]-1]=arr[j];
14            c[arr[j]]=c[arr[j]]-1;
15        }
16        return b;
17    }
18    public static void main(String[] args)
19    {
20        int[] arr = new int[] {5,0,2,1,3,0,5};
21        arr = what(arr,5);
22        for (int i=0; i < arr.length; i++) System.out.println(arr[i]);
23    }
24}

משימות

אמשימה אtext

סרטט את המערך c לאחר ביצוע הלולאה המסומנת //*.

במשימה בtext

סרטט את המערך c לאחר ביצוע הלולאה המסומנת //**.

גמשימה גtable

עקוב אחר ביצוע הלולאה המסומנת //***. במעקב עליך להראות את arr[j], c[arr[j]], b[c[arr[j]]-1], המערך b והמערך c.

דמשימה דtext

מה מבצעת הפעולה what / What?

המשימה הtext

מהי סיבוכיות זמן הריצה של הפעולה what ב-Java או What ב-C#? נמק את תשובתך.

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

מעקב אחר אלגוריתם מיון מניה

לפניך תכנית הכתובה ב-Java וב-C# הפעולה what ב-Java (או What ב-C#) מקבלת מערך חד־ממדי המכיל מספרים שלמים, ומספר שלם k>0. כל המספרים במערך הם בין 0 ל-k (כולל).

1public class Program
2{
3    public static int[] what(int[] arr, int k)
4    {
5        int n = arr.length;
6        int[] b = new int[n];
7        int[] c = new int[k+1];
8        for (int i=0; i<k+1; i++) c[i]=0;
9        for (int j=0; j <n; j++) c[arr[j]]=c[arr[j]]+1; //*
10        for (int i=1; i <k+1; i++) c[i] = c[i] + c[i-1]; //**
11        for (int j=n-1; j >= 0; j--) //***
12        {
13            b[c[arr[j]]-1]=arr[j];
14            c[arr[j]]=c[arr[j]]-1;
15        }
16        return b;
17    }
18    public static void main(String[] args)
19    {
20        int[] arr = new int[] {5,0,2,1,3,0,5};
21        arr = what(arr,5);
22        for (int i=0; i < arr.length; i++) System.out.println(arr[i]);
23    }
24}

משימות

אמשימה אtext

סרטט את המערך c לאחר ביצוע הלולאה המסומנת //*.

במשימה בtext

סרטט את המערך c לאחר ביצוע הלולאה המסומנת //**.

גמשימה גtable

עקוב אחר ביצוע הלולאה המסומנת //***. במעקב עליך להראות את arr[j], c[arr[j]], b[c[arr[j]]-1], המערך b והמערך c.

דמשימה דtext

מה מבצעת הפעולה what / What?

המשימה הtext

מהי סיבוכיות זמן הריצה של הפעולה what ב-Java או What ב-C#? נמק את תשובתך.