אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2021 · קיץ מועד א · שאלה 6כל שאלות המבחן ←
רקורסיהאלגוריתמים רקורסיביים

לפניך הפעולה sod1.

public static boolean sod1 (int[] arr, int x, int i)
{
    if ( i == -1) return false;
    if (arr[i] == x) return true;
    return sod1(arr, x, i - 1);
}

לפניך הפעולה sod2.

public static boolean sod2 (int[] arr, int x, int i)
{
    if ( i == 0) return false;
    if (sod1(arr, x - arr[i], i - 1)) return true;
    return sod2(arr, x, i - 1);
}

המערך הנתון בשני הסעיפים

a: index 0..4 = [5, 4, 15, 12, 2]
סעיף א1

כתוב את הערך המוחזר בעבור זימון הפעולה sod1(a, 8, a.length-1) והמערך a שלפניך. עליך להראות מעקב.

סעיף א2

בעבור מערך כלשהו a ומספר x, מהי מטרת הפעולה sod1(a, x, a.length-1)?

סעיף א3

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

סעיף ב1

כתוב את הערך המוחזר בעבור זימון הפעולה sod2(a, 16, a.length-1) והמערך a שלפניך. עליך להראות מעקב (בסעיף זה, אין צורך לבצע מעקב אחר הפעולה sod1).

סעיף ב2

מהי מטרת הפעולה sod2?

סעיף ב3

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

שאלות ותגובות על השאלה

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

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

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