טוען...
טוען...
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
נתונה שרשרת חוליות lst מטיפוס שלם. נתונות הפעולות what ו-guess. בשני הסעיפים נתונה השרשרת:
public static Node<Integer> what (Node<Integer> lst, int x)
{
if (lst == null)
return null;
Node<Integer> temp = what (lst.getNext(), x);
if (lst.getValue() == x)
return temp;
lst.setNext (temp);
return lst;
}
public static void guess (Node<Integer> lst)
{
if (lst != null) {
Node<Integer> temp = what (lst.getNext(), lst.getValue());
lst.setNext (temp);
guess (lst.getNext());
}
}עקבו אחר הפעולה what(lst, 1) עם השרשרת הנתונה, והציגו את השרשרת שהפעולה מחזירה.
מה עושה הפעולה what? הסבירו את תשובתכם.
מהי סיבוכיות הפעולה what? נמקו את תשובתכם.
עקבו אחר הפעולה guess(lst) עם השרשרת הנתונה, והציגו את השרשרת lst בסיום הפעולה. בסעיף זה אין צורך לעקוב אחר הפעולה what.
מה עושה הפעולה guess? הסבירו את תשובתכם.
מהי סיבוכיות הפעולה guess? נמקו את תשובתכם.
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
נתונה שרשרת חוליות lst מטיפוס שלם. נתונות הפעולות what ו-guess. בשני הסעיפים נתונה השרשרת:
public static Node<Integer> what (Node<Integer> lst, int x)
{
if (lst == null)
return null;
Node<Integer> temp = what (lst.getNext(), x);
if (lst.getValue() == x)
return temp;
lst.setNext (temp);
return lst;
}
public static void guess (Node<Integer> lst)
{
if (lst != null) {
Node<Integer> temp = what (lst.getNext(), lst.getValue());
lst.setNext (temp);
guess (lst.getNext());
}
}עקבו אחר הפעולה what(lst, 1) עם השרשרת הנתונה, והציגו את השרשרת שהפעולה מחזירה.
מה עושה הפעולה what? הסבירו את תשובתכם.
מהי סיבוכיות הפעולה what? נמקו את תשובתכם.
עקבו אחר הפעולה guess(lst) עם השרשרת הנתונה, והציגו את השרשרת lst בסיום הפעולה. בסעיף זה אין צורך לעקוב אחר הפעולה what.
מה עושה הפעולה guess? הסבירו את תשובתכם.
מהי סיבוכיות הפעולה guess? נמקו את תשובתכם.