נתונה הפעולה הרקורסיבית secret:
נתונה הפעולה הרקורסיבית secret:
public static int secret(int[] a)
{
return secret(a,a.length-1);
}
public static int secret(int[] a, int i)
{
if(i == 0) return 0;
int k = secret(a,i-1);
if(a[i] < a[k])
return i;
return k;
}
סעיף א
נתון המערך הבא של מספרים שלמים:
int[] a = {3,5,1,2,10,9}
עקבו אחרי זימון secret(a) רשמו את תוצאת הזימון. יש להראות מעקב!
סעיף ב
מה מבצעת הפעולה secret(a) באופן כללי?
סעיף ג
נתונה הפעולה הרקורסיבית mystery הבאה:
public static void mystery(int[] a)
{
mystery(a, a.length-1);
}
public static void mystery(int[] a, int i)
{
if(i > 0)
{
int k = secret(a,i);
int temp = a[i];
a[i] = a[k];
a[k] = temp;
mystery(a, i-1);
}
}
נתון המערך הבא של מספרים שלמים:
int[] a = {3,5,1,2,10,9}
עקבו אחרי זימון mystery(a) ורשמו את תוצאות הזימון. יש להראות מעקב אחרי הפעולה mystery, אין צורך במעקב אחרי הפעולה secret.
סעיף ד
מה מבצעת הפעולה mystery(a) באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.