נתונה השרשרת הבאה (ch1, מהראש לסוף):

10, 14, 12, 12, 10, 12, 14, 14

נתונות שתי הפעולות הרקורסיביות הבאות:

public static int one(Node<Integer> ch, int num)
{
    if(ch.getNext()!= null)
    {
        if(ch.getNext().getValue() == num)
        {
            ch.setNext(ch.getNext().getNext());
            return 1 + one(ch, num);
        }
        else
        {
            ch = ch.getNext();
            return one(ch, num);
        }
    }
    else
        return 0;
}
public static void two(Node<Integer> ch)
{
    if(ch != null)
    {
        int x = one(ch, ch.getValue());
        ch.setNext(new Node<Integer> (x+1, ch.getNext()));
        ch = ch.getNext();
        two(ch.getNext());
    }
}
(א)מה תהיה תוצאת זימון הפעולה `one(ch1, 14)`?
יש להראות מעקב ולציין שינויים בשרשרת החוליות בכל זימון רקורסיבי.
(ב)מה מבצעת הפעולה one באופן כללי?
(ג)עקבו אחרי זימון הפעולה `two(ch1)` ורשמו איך תיראה השרשרת אחרי זימון.
יש להראות מעקב אחרי ביצוע הפעולה two, אין צורך במעקב אחרי הזימונים של one.
(ד)מה מבצעת הפעולה two באופן כללי?

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

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

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

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

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

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

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