שאלה 5מבני נתונים2021 קיץ מועד ברשימה מקושרתסה״כ 20 נק׳
איתור תתי-שרשראות ורצפים בשרשרת חוליות
שים לב
בכל שאלה שנדרש בה מימוש, תוכל להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם תשתמש בפעולות נוספות, יהיה עליך לממש אותן.
משימות
אמשימה א
מימוש50%
שרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה).
✎ דוגמה ל־lst1 שהיא תת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
✎ דוגמה ל־lst1שאינהתת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
✎ דוגמה נוספת ל־lst1שאינהתת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
כתוב פעולה חיצונית ששמה isPrefix המקבלת שתי שרשראות חוליות מטיפוס שלם lst1 ו־lst2 שאינן null.
הפעולה תחזיר true אם lst1 היא תת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2, אחרת היא תחזיר false.
⚠ הערה — אילוץ מחייב
חובה לשמור על השרשראות lst1 ו־lst2.
במשימה ב
מימוש50%
שרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף.
✎ דוגמה ל־lst1 שהיא תת־שרשרתשרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף. של lst2
כתוב פעולה חיצונית ששמה isSubChain המקבלת שתי שרשראות חוליות מטיפוס שלם lst1 ו־lst2 שאינן null.
הפעולה תחזיר true אם lst1 היא תת־שרשרתשרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף. של lst2, אחרת היא תחזיר false.
⚠ הערה — אילוץ מחייב
חובה להשתמש בפעולה שכתבת בסעיף א.
שפת התכנות שלי
שאלה 5מבני נתונים2021 קיץ מועד ברשימה מקושרתסה״כ 20 נק׳
איתור תתי-שרשראות ורצפים בשרשרת חוליות
שים לב
בכל שאלה שנדרש בה מימוש, תוכל להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם תשתמש בפעולות נוספות, יהיה עליך לממש אותן.
משימות
אמשימה א
מימוש50%
שרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה).
✎ דוגמה ל־lst1 שהיא תת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
✎ דוגמה ל־lst1שאינהתת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
✎ דוגמה נוספת ל־lst1שאינהתת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2
כתוב פעולה חיצונית ששמה isPrefix המקבלת שתי שרשראות חוליות מטיפוס שלם lst1 ו־lst2 שאינן null.
הפעולה תחזיר true אם lst1 היא תת־שרשרת תחיליתשרשרת החוליות lst1 היא "תת־שרשרת תחילית" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים באותו רצף מתחילת lst2 (ייתכנו ערכים נוספים ב־lst2 אחרי רצף זה). של lst2, אחרת היא תחזיר false.
⚠ הערה — אילוץ מחייב
חובה לשמור על השרשראות lst1 ו־lst2.
במשימה ב
מימוש50%
שרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף.
✎ דוגמה ל־lst1 שהיא תת־שרשרתשרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף. של lst2
כתוב פעולה חיצונית ששמה isSubChain המקבלת שתי שרשראות חוליות מטיפוס שלם lst1 ו־lst2 שאינן null.
הפעולה תחזיר true אם lst1 היא תת־שרשרתשרשרת החוליות lst1 היא "תת־שרשרת" של שרשרת החוליות lst2 אם כל הערכים של lst1 מופיעים במקום כלשהו ב־lst2 באותו הרצף. של lst2, אחרת היא תחזיר false.