אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2025 · קיץ מועד א · שאלה 9כל שאלות המבחן ←
מבנים לינארייםמחסניות

נתונות שתי הפעולות IsExist1 ו-IsExist2.

language_variants: codeBlock:

public static bool IsExist1(Stack<int> st, int x){
    while(!st.IsEmpty()){
        if(st.Pop()==x) return true;
    }
    return false;
}
public static bool IsExist2(Stack<int> st, int x){
    Stack<int> temp = new Stack<int>();
    bool f = false;
    while(!st.IsEmpty()){
        if(st.Top()==x) f = true;
        temp.Push(st.Pop());
    }
    while(!temp.IsEmpty()) {
        st.Push(temp.Pop());
    }
    return f;
}
סעיף א

הסבירו מה מבצעת כל אחת מהפעולות, מה ההבדל ביניהן ומהי הסיבוכיות של כל אחת מהן.

סעיף ב

public static bool ContainsAll(Stack<int> st1, Stack<int> st2)

כתבו פעולה המקבלת שתי מחסניות שלמים st1 ו-st2. הפעולה תבדוק אם כל האיברים של st1 נמצאים במחסנית st2 גם כן. אם כן, הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.

example: descriptionHebrew: לדוגמה, עבור המחסניות שלפניכם תחזיר הפעולה ערך true:

st1: [2, 3, 10, 7]

st2: [3, 14, 2, 2, 3, 7, 10, 2, 10]

סעיף ג

public static bool ContainsInOrder(Stack<int> st1, Stack<int> st2)

כתבו פעולה המקבלת שתי מחסניות שלמים st1 ו-st2. הפעולה תבדוק אם כל האיברים של st1 נמצאים במחסנית st2 באותו הסדר. אם כן, הפעולה תחזיר ערך true (באותו הסדר), ואם לא – הפעולה תחזיר ערך false.

example: descriptionHebrew: לדוגמה, נתונות דוגמאות st2 עם חלק מהאיברים מודגשים/נטויים כדי להמחיש התאמה עוקבת מול st1 (ראו קובץ המקור לוודאות מלאה על אילו תאים מסומנים).

confidence: MEDIUM-LOW — this example's exact bold/italic highlighting semantics (which cells denote the matched subsequence vs which denote the true/false verdict) could not be transcribed with full confidence from the rendered image; re-verify directly against the source PDF before using as a solve-oracle input.

סעיף ד

public static bool IsSubStack(Stack<int> st1, Stack<int> st2)

כתבו פעולה המקבלת שתי מחסניות שלמים st1 ו-st2. הפעולה תבדוק אם המחסנית st1 היא תת-מחסנית של st2 (כלומר, אם כל האיברים של המחסנית st1 נמצאים במחסנית st2 ברצף ובאותו הסדר). אם כן, הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.

example: > confidence: MEDIUM-LOW — same caveat as part ג': the illustrative grid with highlighted cells is transcribed at reduced confidence.

סעיף ה

מהי הסיבוכיות של כל אחת מהפעולות שכתבתם? הסבירו את תשובתכם.

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

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

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

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