שים לב: לשאלה זו נוסח אחד ב-Java (עמוד זה) ונוסח אחר ב-C# (בעמוד הבא). לפניך הפעולה sod1, המקבלת הפניה lst לשרשרת חוליות ותו ch, ומחזירה הפניה לחוליה הראשונה בשרשרת שערכה שווה ל-ch (או null אם אינו מופיע).
שים לב: לשאלה זו נוסח אחד ב-Java (עמוד זה) ונוסח אחר ב-C# (בעמוד הבא). לפניך הפעולה sod1, המקבלת הפניה lst לשרשרת חוליות ותו ch, ומחזירה הפניה לחוליה הראשונה בשרשרת שערכה שווה ל-ch (או null אם אינו מופיע).
public static Node<char> Sod1(Node<char> lst, char ch)
{
if (lst == null)
return null;
if (lst.GetValue() == ch)
return lst;
return Sod1(lst.GetNext(), ch);
}
public static bool Sod2(Node<char> lst)
{
if (Sod1(lst,'a') != null && Sod1(lst,'b') != null)
return true;
return false;
}
דוגמת מעקב לסעיף א: שרשרת c->d->v->h, קריאה sod1(lst,'v').
lst: c -> d -> v -> h -> null
דוגמאות לסעיף ג: y-b-a (b,a סמוכים, true); m-a-b-l (a,b סמוכים, true); w-a-c-b (a,b קיימים אך לא סמוכים, false).
y->b->a | m->a->b->l | w->a->c->b
עקוב אחר הפעולה וכתוב מה יוחזר עבור ch='v' וההפניה lst לשרשרת חוליות של תווים c,d,v,h.
public static Node<char> Sod1(Node<char> lst, char ch)
מהי מטרת הפעולה sod1?
מהי סיבוכיות זמן הריצה של הפעולה sod1? נמק.
נתונה הפעולה sod2 (מקבלת lst, קוראת ל-sod1 פעמיים על 'a' ו-'b'). מה מטרת הפעולה sod2?
public static bool Sod2(Node<char> lst)
כתוב פעולה בוליאנית המקבלת הפניה לשרשרת חוליות של תווים ומחזירה true אם מופיעות בה שתי חוליות סמוכות שערכיהן 'a' 'b' או 'b' 'a', אחרת — הפעולה מחזירה false. עליך להשתמש בפעולה sod1.
public static bool AdjacentAB(Node<char> lst)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.